code: public Iterable<? extends CompilationUnitTree> parse() throws IOException {
          try {
              prepareCompiler();
              List<JCCompilationUnit> units = compiler.parseFiles(fileObjects);
              for (JCCompilationUnit unit: units) {
                  JavaFileObject file = unit.getSourceFile();
                  if (notYetEntered.containsKey(file))
                      notYetEntered.put(file, unit);
              }
              return units;
          }
          finally {
              parsed = true;
              if (compiler != null && compiler.log != null)
                  compiler.log.flush();
          }
      }
docs: Parse the specified files returning a list of abstract syntax trees.
  
  @throws java.io.IOException TODO
  @return a list of abstract syntax trees