code: public List<JCCompilationUnit> parseFiles(Iterable<JavaFileObject> fileObjects) {
         if (shouldStop(CompileState.PARSE))
             return List.nil();
  
          //parse all files
          ListBuffer<JCCompilationUnit> trees = new ListBuffer<>();
          Set<JavaFileObject> filesSoFar = new HashSet<>();
          for (JavaFileObject fileObject : fileObjects) {
              if (!filesSoFar.contains(fileObject)) {
                  filesSoFar.add(fileObject);
                  trees.append(parse(fileObject));
              }
          }
          return trees.toList();
      }
docs: Parses a list of files.