code: private String [] generateArguments ()
    {
      final List <String> argsList = new ArrayList <> ();
  
      argsList.add ("-np");
      argsList.add (getEffectiveNodePackageName ());
  
      argsList.add ("-vp");
      argsList.add (getEffectiveVisitorPackageName ());
  
      if (this.supressErrorChecking != null && this.supressErrorChecking.booleanValue ())
      {
        argsList.add ("-e");
      }
  
      if (this.javadocFriendlyComments != null && this.javadocFriendlyComments.booleanValue ())
      {
        argsList.add ("-jd");
      }
  
      if (this.descriptiveFieldNames != null && this.descriptiveFieldNames.booleanValue ())
      {
        argsList.add ("-f");
      }
  
      if (this.nodeParentClass != null)
      {
        argsList.add ("-ns");
        argsList.add (this.nodeParentClass);
      }
  
      if (this.parentPointers != null && this.parentPointers.booleanValue ())
      {
        argsList.add ("-pp");
      }
  
      if (this.specialTokens != null && this.specialTokens.booleanValue ())
      {
        argsList.add ("-tk");
      }
  
      if (this.scheme != null && this.scheme.booleanValue ())
      {
        argsList.add ("-scheme");
      }
  
      if (this.printer != null && this.printer.booleanValue ())
      {
        argsList.add ("-printer");
      }
  
      final File outputFile = getOutputFile ();
      if (outputFile != null)
      {
        argsList.add ("-o");
        argsList.add (outputFile.getAbsolutePath ());
      }
  
      if (this.inputFile != null)
      {
        argsList.add (this.inputFile.getAbsolutePath ());
      }
  
      return argsList.toArray (new String [argsList.size ()]);
    }
docs: Assembles the command line arguments for the invocation of JTB according to
  the configuration.
  
  @return A string array that represents the command line arguments to use
  for JTB.