docs: public void initialize() throws CmsSearchException {
  
          if (!isEnabled()) {
              // index is disabled, no initialization is required
              return;
          }
  
          String sourceName = null;
          CmsSearchIndexSource indexSource = null;
          List<String> searchIndexSourceDocumentTypes = null;
          List<String> resourceNames = null;
          String resourceName = null;
          m_sources = new ArrayList<CmsSearchIndexSource>();
  
          m_path = getPath();
  
          for (int i = 0, n = m_sourceNames.size(); i < n; i++) {
  
              try {
                  sourceName = m_sourceNames.get(i);
                  indexSource = OpenCms.getSearchManager().getIndexSource(sourceName);
                  m_sources.add(indexSource);
  
                  resourceNames = indexSource.getResourcesNames();
                  searchIndexSourceDocumentTypes = indexSource.getDocumentTypes();
                  for (int j = 0, m = resourceNames.size(); j < m; j++) {
  
                      resourceName = resourceNames.get(j);
                      m_documenttypes.put(resourceName, searchIndexSourceDocumentTypes);
                  }
              } catch (Exception e) {
                  // mark this index as disabled
                  setEnabled(false);
                  throw new CmsSearchException(
                      Messages.get().container(Messages.ERR_INDEX_SOURCE_ASSOCIATION_1, sourceName),
                      e);
              }
          }
  
          // initialize the search field configuration
          if (m_fieldConfigurationName == null) {
              // if not set, use standard field configuration
              m_fieldConfigurationName = CmsSearchFieldConfiguration.STR_STANDARD;
          }
          m_fieldConfiguration = OpenCms.getSearchManager().getFieldConfiguration(m_fieldConfigurationName);
          if (m_fieldConfiguration == null) {
              // we must have a valid field configuration to continue
              throw new CmsSearchException(
                  Messages.get().container(Messages.ERR_FIELD_CONFIGURATION_UNKNOWN_2, m_name, m_fieldConfigurationName));
          }
  
          // initialize the index searcher instance
          onIndexChanged(true);
      }