code: public synchronized void initialize(CmsObject cms) throws CmsRoleViolationException, CmsConfigurationException {
  
          if (OpenCms.getRunLevel() > OpenCms.RUNLEVEL_1_CORE_OBJECT) {
              // some simple test cases don't require this check
              OpenCms.getRoleManager().checkRole(cms, CmsRole.DATABASE_MANAGER);
          }
  
          // initialize the resource types
          initResourceTypes();
  
          // call initialize method on all resource types
          Iterator<I_CmsResourceType> i = m_configuration.m_resourceTypeList.iterator();
          while (i.hasNext()) {
              I_CmsResourceType type = i.next();
              type.initialize(cms);
          }
  
          if (CmsLog.INIT.isInfoEnabled()) {
              CmsLog.INIT.info(Messages.get().getBundle().key(Messages.INIT_LOADER_CONFIG_FINISHED_0));
          }
      }
docs: Initializes all additional resource types stored in the modules.<p>
  
  @param cms an initialized OpenCms user context with "module manager" role permissions
  
  @throws CmsRoleViolationException in case the provided OpenCms user context did not have "module manager" role permissions
  @throws CmsConfigurationException in case of duplicate resource types in the configuration