code: private void processFiles(File[] files) {
          phaseOutput(format("=== %s ===", getApplicationName()));
          phaseOutput(format("Compiling %d BEL Document(s)", files.length));
  
          boolean pedantic = withPedantic();
          boolean verbose = withVerbose();
  
          int validated = 0;
  
          for (int i = 1; i <= files.length; i++) {
              File file = files[i - 1];
  
              if (verbose) {
                  phaseOutput("Compiling " + i + " of " + files.length
                          + " BEL Document(s)");
              }
  
              // validate document
              Document document = stage1(file);
              if (document == null) {
                  if (pedantic) {
                      bail(VALIDATION_FAILURE);
                  }
                  continue;
              }
              validated++;
  
              // run stages 2 - 7
              runCommonStages(pedantic, document);
          }
  
          if (validated == 0) {
              bail(NO_VALID_DOCUMENTS);
          }
      }
docs: Starts phase one compilation from {@link File XBEL files}.
  
  @param files the {@link File XBEL files} to compile