code: JavaFileObject printSource(Env<AttrContext> env, JCClassDecl cdef) throws IOException {
          JavaFileObject outFile
              = fileManager.getJavaFileForOutput(CLASS_OUTPUT,
                                                 cdef.sym.flatname.toString(),
                                                 JavaFileObject.Kind.SOURCE,
                                                 null);
          if (inputFiles.contains(outFile)) {
              log.error(cdef.pos(), "source.cant.overwrite.input.file", outFile);
              return null;
          } else {
              BufferedWriter out = new BufferedWriter(outFile.openWriter());
              try {
                  new Pretty(out, true).printUnit(env.toplevel, cdef);
                  if (verbose)
                      log.printVerbose("wrote.file", outFile);
              } finally {
                  out.close();
              }
              return outFile;
          }
      }
docs: Emit plain Java source for a class.
  @param env    The attribution environment of the outermost class
  containing this class.
  @param cdef   The class definition to be printed.