code: private void processOutputDirectory() {
  
          // Phase IV may have to use the proto network output of phase II if
          // phase III is skipped.
  
          final String outputPath = outputDirectory.getAbsolutePath();
          final String[] args = getCommandLineArguments();
          final PhaseThreeApplication p3App = new PhaseThreeApplication(args);
  
          String folder;
  
          // if phase III was skipped or no orthology documents were merged
          if (p3App.isSkipped()) {
              folder = PhaseTwoApplication.DIR_ARTIFACT;
          } else {
              folder = PhaseThreeApplication.DIR_ARTIFACT;
          }
  
          final File pnPath = new File(asPath(outputPath, folder));
  
          // Fail if path is not a directory
          if (!pnPath.isDirectory()) {
              error(NOT_A_DIRECTORY + ": " + pnPath);
              failUsage();
          }
  
          final File[] files = pnPath.listFiles(new GlobalProtonetworkFilter());
          if (files.length == 0 || files.length > 1) {
              bail(ExitCode.NO_GLOBAL_PROTO_NETWORK);
          }
  
          processFiles(files[0]);
      }
docs: Process output directory.