docs: protected CmsOrganizationalUnit internalCreateOrgUnitFromResource(CmsDbContext dbc, CmsResource resource)
      throws CmsException {
  
          if (!resource.getRootPath().startsWith(ORGUNIT_BASE_FOLDER)) {
              throw new CmsDataAccessException(
                  Messages.get().container(Messages.ERR_READ_ORGUNIT_1, resource.getRootPath()));
          }
          // get the data
          String name = resource.getRootPath().substring(ORGUNIT_BASE_FOLDER.length());
          if ((name.length() > 0) && !name.endsWith(CmsOrganizationalUnit.SEPARATOR)) {
              name += CmsOrganizationalUnit.SEPARATOR;
          }
          String description = m_driverManager.readPropertyObject(
              dbc,
              resource,
              ORGUNIT_PROPERTY_DESCRIPTION,
              false).getStructureValue();
          int flags = (resource.getFlags() & ~CmsResource.FLAG_INTERNAL); // remove the internal flag
          String projectId = m_driverManager.readPropertyObject(
              dbc,
              resource,
              ORGUNIT_PROPERTY_PROJECTID,
              false).getStructureValue();
          // create the object
          return new CmsOrganizationalUnit(
              resource.getStructureId(),
              name,
              description,
              flags,
              (projectId == null ? null : new CmsUUID(projectId)));
      }