anchor.diff:  
     void visitComment(CssComment node) {
       var minimumIndentation = _minimumIndentation(node.text);
  +    assert(minimumIndentation != -1);
       if (minimumIndentation == null) {
         _writeIndentation();
         _buffer.write(node.text);
  
positive.code:       while (!scanner.isDone && scanner.readChar() != $lf) {}
      }
  
      return min;
    }
  
    /// Writes [text] to [_buffer], adding [minimumIndentation] to each non-empty
    /// line.
    void _writeWithIndent(String text, int minimumIndentation) {
      var scanner = new LineScanner(text);
      while (!scanner.isDone && scanner.peekChar() != $lf) {
        _buffer.writeCharCode(scanner.readChar());
      }
  
      while (!scanner.isDone) {
        _buffer.writeCharCode(scanner.readChar());
        for (var i = 0; i < minimumIndentation; i++) scanner.readChar();
        _writeIndentation();
        while (!scanner.isDone && scanner.peekChar() != $lf) {
          _buffer.writeCharCode(scanner.readChar());
        }
      }
    }
  
negative.code:     _writeWithIndent(value, minimumIndentation);
    }
  
    /// Returns the indentation level of the least-indented non-empty line in
    /// [text] after the first.
    ///
    /// Returns `null` if [text] contains no newlines, and -1 if it contains
    /// newlines but no lines are indented.
    int _minimumIndentation(String text) {
      var scanner = new LineScanner(text);
      while (!scanner.isDone && scanner.readChar() != $lf) {}
  