code: protected JavaCC newJavaCC ()
    {
      final JavaCC javacc = new JavaCC ();
      javacc.setLog (getLog ());
      javacc.setGrammarEncoding (this.grammarEncoding);
      javacc.setOutputEncoding (this.outputEncoding);
      javacc.setJdkVersion (this.jdkVersion);
      javacc.setBuildParser (this.buildParser);
      javacc.setBuildTokenManager (this.buildTokenManager);
      javacc.setCacheTokens (this.cacheTokens);
      javacc.setChoiceAmbiguityCheck (this.choiceAmbiguityCheck);
      javacc.setCommonTokenAction (this.commonTokenAction);
      javacc.setDebugLookAhead (this.debugLookAhead);
      javacc.setDebugParser (this.debugParser);
      javacc.setDebugTokenManager (this.debugTokenManager);
      javacc.setErrorReporting (this.errorReporting);
      javacc.setForceLaCheck (this.forceLaCheck);
      javacc.setIgnoreCase (this.ignoreCase);
      javacc.setJavaUnicodeEscape (this.javaUnicodeEscape);
      javacc.setKeepLineColumn (this.keepLineColumn);
      javacc.setLookAhead (this.lookAhead);
      javacc.setOtherAmbiguityCheck (this.otherAmbiguityCheck);
      javacc.setSanityCheck (this.sanityCheck);
      javacc.setTokenManagerUsesParser (this.tokenManagerUsesParser);
      javacc.setTokenExtends (this.tokenExtends);
      javacc.setTokenFactory (this.tokenFactory);
      javacc.setUnicodeInput (this.unicodeInput);
      javacc.setUserCharStream (this.userCharStream);
      javacc.setUserTokenManager (this.userTokenManager);
      javacc.setSupportClassVisibilityPublic (this.supportClassVisibilityPublic);
      javacc.setJavaTemplateType (this.javaTemplateType);
      return javacc;
    }
docs: Creates a new facade to invoke JavaCC. 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 and output directory on the
  returned facade.
  
  @return The facade for the tool invocation, never <code>null</code>.