code: public static CmsSecurityManager newInstance(
          CmsConfigurationManager configurationManager,
          I_CmsDbContextFactory runtimeInfoFactory,
          CmsPublishEngine publishEngine)
      throws CmsInitException {
  
          if (OpenCms.getRunLevel() > OpenCms.RUNLEVEL_2_INITIALIZING) {
              // OpenCms is already initialized
              throw new CmsInitException(
                  org.opencms.main.Messages.get().container(org.opencms.main.Messages.ERR_ALREADY_INITIALIZED_0));
          }
  
          CmsSecurityManager securityManager = new CmsSecurityManager();
          securityManager.init(configurationManager, runtimeInfoFactory, publishEngine);
  
          return securityManager;
      }
docs: Creates a new instance of the OpenCms security manager.<p>
  
  @param configurationManager the configuration manager
  @param runtimeInfoFactory the initialized OpenCms runtime info factory
  @param publishEngine the publish engine
  
  @return a new instance of the OpenCms security manager
  
  @throws CmsInitException if the security manager could not be initialized