code: @ForOverride
    String getCode(int startingIndent) {
      FormattingContext initialStatements = new FormattingContext(startingIndent);
      initialStatements.appendInitialStatements(this);
  
      FormattingContext outputExprs = new FormattingContext(startingIndent);
      if (this instanceof Expression) {
        outputExprs.appendOutputExpression((Expression) this);
        outputExprs.append(';').endLine();
      }
  
      return initialStatements.concat(outputExprs).toString();
    }
docs: {@link #doFormatInitialStatements} and {@link Expression#doFormatOutputExpr} are the main
  methods subclasses should override to control their formatting. Subclasses should only override
  this method in the special case that a code chunk needs to control its formatting when it is
  the only chunk being serialized. TODO(brndn): only one override, can probably be declared
  final.
  
  @param startingIndent The indent level of the foreign code into which this code will be
  inserted. This doesn't affect the correctness of the composed code, only its readability.