code: protected JJTree newJJTree ()
    {
      final JJTree jjtree = new JJTree ();
      jjtree.setLog (getLog ());
      jjtree.setGrammarEncoding (getGrammarEncoding ());
      jjtree.setOutputEncoding (getOutputEncoding ());
      jjtree.setJdkVersion (getJdkVersion ());
      jjtree.setBuildNodeFiles (this.buildNodeFiles);
      jjtree.setMulti (this.multi);
      jjtree.setNodeDefaultVoid (this.nodeDefaultVoid);
      jjtree.setNodeClass (this.nodeClass);
      jjtree.setNodeFactory (this.nodeFactory);
      jjtree.setNodePrefix (this.nodePrefix);
      jjtree.setNodeScopeHook (this.nodeScopeHook);
      jjtree.setNodeUsesParser (this.nodeUsesParser);
      jjtree.setTrackTokens (this.trackTokens);
      jjtree.setVisitor (this.visitor);
      jjtree.setVisitorDataType (this.visitorDataType);
      jjtree.setVisitorReturnType (this.visitorReturnType);
      jjtree.setVisitorException (this.visitorException);
      jjtree.setJavaTemplateType (this.getJavaTemplateType ());
      return jjtree;
    }
docs: Creates a new facade to invoke JJTree. Most options for the invocation are
  derived from the current values of the corresponding mojo parameters. The
  caller is responsible to set the input file, output directory and package
  on the returned facade.
  
  @return The facade for the tool invocation, never <code>null</code>.