docs: protected void internalDeleteOrgUnitResource(CmsDbContext dbc, CmsResource resource) throws CmsException {
  
          CmsRelationFilter filter = CmsRelationFilter.TARGETS;
  
          // first the online version
          if (!dbc.currentProject().isOnlineProject()) {
              // online persistence
              CmsProject project = dbc.currentProject();
              dbc.getRequestContext().setCurrentProject(m_driverManager.readProject(dbc, CmsProject.ONLINE_PROJECT_ID));
  
              try {
                  // delete properties
                  m_driverManager.getVfsDriver(dbc).deletePropertyObjects(
                      dbc,
                      CmsProject.ONLINE_PROJECT_ID,
                      resource,
                      CmsProperty.DELETE_OPTION_DELETE_STRUCTURE_AND_RESOURCE_VALUES);
  
                  // remove the online folder only if it is really deleted offline
                  m_driverManager.getVfsDriver(dbc).removeFolder(dbc, dbc.currentProject(), resource);
  
                  // remove ACL
                  m_driverManager.getUserDriver(dbc).removeAccessControlEntries(
                      dbc,
                      dbc.currentProject(),
                      resource.getResourceId());
  
                  // delete relations
                  m_driverManager.getVfsDriver(
                      dbc).deleteRelations(dbc, dbc.getRequestContext().getCurrentProject().getUuid(), resource, filter);
              } finally {
                  dbc.getRequestContext().setCurrentProject(project);
              }
          }
          // delete properties
          m_driverManager.getVfsDriver(dbc).deletePropertyObjects(
              dbc,
              CmsProject.ONLINE_PROJECT_ID,
              resource,
              CmsProperty.DELETE_OPTION_DELETE_STRUCTURE_AND_RESOURCE_VALUES);
  
          // remove the online folder only if it is really deleted offline
          m_driverManager.getVfsDriver(dbc).removeFolder(dbc, dbc.currentProject(), resource);
  
          // remove ACL
          m_driverManager.getUserDriver(dbc).removeAccessControlEntries(
              dbc,
              dbc.currentProject(),
              resource.getResourceId());
  
          // delete relations
          m_driverManager.getVfsDriver(
              dbc).deleteRelations(dbc, dbc.getRequestContext().getCurrentProject().getUuid(), resource, filter);
  
          // flush all relevant caches
          OpenCms.getMemoryMonitor().clearAccessControlListCache();
          OpenCms.getMemoryMonitor().flushCache(CmsMemoryMonitor.CacheType.PROPERTY);
          OpenCms.getMemoryMonitor().flushCache(CmsMemoryMonitor.CacheType.PROPERTY_LIST);
          OpenCms.getMemoryMonitor().flushCache(CmsMemoryMonitor.CacheType.PROJECT_RESOURCES);
  
          // fire events
          OpenCms.fireCmsEvent(
              new CmsEvent(
                  I_CmsEventListener.EVENT_RESOURCE_DELETED,
                  Collections.<String, Object> singletonMap(
                      I_CmsEventListener.KEY_RESOURCES,
                      Collections.singletonList(resource))));
          OpenCms.fireCmsEvent(
              new CmsEvent(
                  I_CmsEventListener.EVENT_RESOURCE_AND_PROPERTIES_MODIFIED,
                  Collections.<String, Object> singletonMap(I_CmsEventListener.KEY_RESOURCE, resource)));
      }