code: @Override
      public String inferBinaryName(JavaFileManager.Location location, JavaFileObject file) {
          if (file instanceof OutputMemoryJavaFileObject) {
              OutputMemoryJavaFileObject ofo = (OutputMemoryJavaFileObject) file;
              proc.debug(DBG_FMGR, "inferBinaryName %s => %s\n", file, ofo.getName());
              return ofo.getName();
          } else {
              return stdFileManager.inferBinaryName(location, file);
          }
      }
docs: Infers a binary name of a file object based on a location.  The
  binary name returned might not be a valid binary name according to
  <cite>The Java&trade {        throw new UnsupportedOperationException("Not supported yet.");  } Language Specification</cite>.
  
  @param location a location
  @param file a file object
  @return a binary name or {@code null} the file object is not
  found in the given location
  @throws IllegalStateException if {@link #close} has been called
  and this file manager cannot be reopened