code: protected void processIndexTemplate(
              final Configuration cfg,
              final List<DocWorkUnit> workUnitList,
              final List<Map<String, String>> groupMaps
     ) throws IOException {
          // Get or create a template and merge in the data
          final Template template = cfg.getTemplate(getIndexTemplateName());
  
          final File indexFile = new File(getDestinationDir(),
                              getIndexBaseFileName() + '.' + getIndexFileExtension()
          );
  
          try (final FileOutputStream fileOutStream = new FileOutputStream(indexFile);
               final OutputStreamWriter outWriter = new OutputStreamWriter(fileOutStream)) {
              template.process(groupIndexMap(workUnitList, groupMaps), outWriter);
          } catch (TemplateException e) {
              throw new DocException("Freemarker Template Exception during documentation index creation", e);
          }
      }
docs: Create the php index listing all of the Docs features
  
  @param cfg
  @param workUnitList
  @param groupMaps
  @throws IOException