// This on is to be invoked; it performs pretty printing, and then invokes the protected (real/overridden) one.
 public AbstractSyntaxTree GenerateCodeForValueWithPrettyPrint(CodeGenContext context, EvaluationIntention purpose)
 {
     context.PrettyPrint(this);
     return(GenerateCodeForValue(context, purpose));
 }
 public virtual void GenerateCodeForConditionalBranchWithPrettyPrint(CodeGenContext context, BranchTargetLabel label, bool reverse)
 {
     context.PrettyPrint(this);                  // prints && operator
     GenerateCodeForConditionalBranch(context, label, reverse);
 }