anchor.diff:        preserveLeadingNewlines();
         levelSpace(lastSpaceWeight++);
       }
  +
       indent(2);
       token(node.separator /* : */);
       space();
  +
       for (var i = 0; i < node.initializers.length; i++) {
         if (i > 0) {
  -        // preceding comma
  +        // Preceding comma.
           token(node.initializers[i].beginToken.previous);
           newlines();
  -        space(n: 2, allowLineLeading: true);
  -      }
  +      }
  +
  +      // Indent subsequent fields one more so they line up with the first
  +      // field following the ":":
  +      //
  +      // Foo()
  +      //   : first,
  +      //     second;
  +      if (i == 1) indent();
  +
         node.initializers[i].accept(this);
       }
  +
  +    // If there were multiple fields, discard their extra indentation.
  +    if (node.initializers.length > 1) unindent();
  +
       unindent(2);
     }
   
  
positive.code: 
    emitSpaces() {
      if (leadingSpaces > 0 || emitEmptySpaces) {
        if (allowLineLeadingSpaces || !writer.currentLine.isWhitespace()) {
          writer.spaces(leadingSpaces, breakWeight: currentBreakWeight);
        }
        leadingSpaces = 0;
        allowLineLeadingSpaces = false;
        emitEmptySpaces = false;
        currentBreakWeight = DEFAULT_SPACE_WEIGHT;
      }
  
negative.code: 
    /// A counter for spaces that should be emitted preceding the next token.
    int leadingSpaces = 0;
  
    /// A flag to specify whether zero-length spaces should be emmitted.
    bool emitEmptySpaces = false;
  