code: public void addLoader(I_CmsResourceLoader loader) throws CmsConfigurationException {
  
          // check if new loaders can still be added
          if (m_frozen) {
              throw new CmsConfigurationException(Messages.get().container(Messages.ERR_NO_CONFIG_AFTER_STARTUP_0));
          }
  
          // add the loader to the internal list of loaders
          int pos = loader.getLoaderId();
          if (pos >= m_loaders.length) {
              I_CmsResourceLoader[] buffer = new I_CmsResourceLoader[pos * 2];
              System.arraycopy(m_loaders, 0, buffer, 0, m_loaders.length);
              m_loaders = buffer;
          }
          m_loaders[pos] = loader;
          m_loaderList.add(loader);
          if (CmsLog.INIT.isInfoEnabled()) {
              CmsLog.INIT.info(
                  Messages.get().getBundle().key(
                      Messages.INIT_ADD_LOADER_2,
                      loader.getClass().getName(),
                      new Integer(pos)));
          }
      }
docs: Adds a new loader to the internal list of loaded loaders.<p>
  
  @param loader the loader to add
  @throws CmsConfigurationException in case the resource manager configuration is already initialized