code: @Override
      public AbstractPipelineOutput execute(final AbstractPipelineInput input) throws DITAOTException {
          final String transtype = input.getAttribute(ANT_INVOKER_EXT_PARAM_TRANSTYPE);
          // change to xml property
          final ChunkMapReader mapReader = new ChunkMapReader();
          mapReader.setLogger(logger);
          mapReader.setJob(job);
          mapReader.supportToNavigation(INDEX_TYPE_ECLIPSEHELP.equals(transtype));
          if (input.getAttribute(ROOT_CHUNK_OVERRIDE) != null) {
              mapReader.setRootChunkOverride(input.getAttribute(ROOT_CHUNK_OVERRIDE));
          }
  
          try {
              final Job.FileInfo in = job.getFileInfo(fi -> fi.isInput).iterator().next();
              final File mapFile = new File(job.tempDirURI.resolve(in.uri));
              if (transtype.equals(INDEX_TYPE_ECLIPSEHELP) && isEclipseMap(mapFile.toURI())) {
                  for (final FileInfo f : job.getFileInfo()) {
                      if (ATTR_FORMAT_VALUE_DITAMAP.equals(f.format)) {
                          mapReader.read(new File(job.tempDir, f.file.getPath()).getAbsoluteFile());
                      }
                  }
              } else {
                  mapReader.read(mapFile);
              }
          } catch (final RuntimeException e) {
              throw e;
          } catch (final Exception e) {
              logger.error(e.getMessage(), e);
          }
  
          final Map<URI, URI> changeTable = mapReader.getChangeTable();
          if (hasChanges(changeTable)) {
              final Map<URI, URI> conflicTable = mapReader.getConflicTable();
              updateList(changeTable, conflicTable, mapReader);
              updateRefOfDita(changeTable, conflicTable);
          }
  
          return null;
      }
docs: Entry point of chunk module.
  
  @param input Input parameters and resources.
  @return null
  @throws DITAOTException exception