code: public static void generate(ConfigurationImpl configuration,
                                  IndexBuilder indexbuilder) {
          SplitIndexWriter indexgen;
          DocPath filename = DocPath.empty;
          DocPath path = DocPaths.INDEX_FILES;
          try {
              for (int i = 0; i < indexbuilder.elements().length; i++) {
                  int j = i + 1;
                  int prev = (j == 1)? -1: i;
                  int next = (j == indexbuilder.elements().length)? -1: j + 1;
                  filename = DocPaths.indexN(j);
                  indexgen = new SplitIndexWriter(configuration,
                                                  path.resolve(filename),
                                                  indexbuilder, prev, next);
                  indexgen.generateIndexFile((Character)indexbuilder.
                                                                   elements()[i]);
                  indexgen.close();
              }
          } catch (IOException exc) {
              configuration.standardmessage.error(
                          "doclet.exception_encountered",
                          exc.toString(), filename.getPath());
              throw new DocletAbortException(exc);
          }
      }
docs: Generate separate index files, for each Unicode character, listing all
  the members starting with the particular unicode character.
  
  @param indexbuilder IndexBuilder built by {@link IndexBuilder}
  @throws DocletAbortException