anchor.diff:    }
     
     startClass(Map<String, dynamic> data) {
  -    _classBuffer = new _DualStringBuffer();
  -    _className = data["name"];
  -    
  -    _classBuffer.writeln("\tclass ${data["name"]} {");
  +    _classBuffer = new _ClassStringBuffer(data["name"]);
     }
     
  -  stopClass() {
  -    _classBuffer.writeln("\t}");
  -    
  -    _buffer.write("\n$_classBuffer");
  +  stopClass() {    
  +    _buffer.writeln(_classBuffer);
       _classBuffer = null;
     }
     
     addClassConstructor(Map<String, dynamic> data, List<Parameter> parameters) {
  -    _classBuffer.writeln("\t\tconstructor(${_handleParams(parameters)});");
  +    _classBuffer.writelnConstructor("\t\tconstructor(${_handleParams(parameters)});");
     }
     
     addClassStaticFunction(Map<String, dynamic> data, List<Parameter> parameters, String returnType) {
  -    var name = data["name"].contains(_className + ".") ?
  -      (data["name"] as String).substring(_className.length + 1) :
  +    var name = data["name"].contains(_classBuffer.name + ".") ?
  +      (data["name"] as String).substring(_classBuffer.name.length + 1) :
         data["name"];
       final str = _makeFunction(data, parameters, returnType, name); 
  -    _classBuffer.writeln("\t\tstatic $str");
  +    _classBuffer.writelnConstructor("\t\tstatic $str");
     }
     
     addClassFunction(Map<String, dynamic> data, List<Parameter> parameters, String returnType) {
  
positive.code:   "Function": "any"
  };
  
  class _DualStringBuffer {
    StringBuffer prefix = new StringBuffer();
    StringBuffer content = new StringBuffer();
    
    _DualStringBuffer();
    
    writelnPrefix(String text) => prefix.writeln(text);
    
    writeln(String text) => content.writeln(text);
    
    String toString() {
      if (prefix.isEmpty) {
        return content.toString();
      }
      
      return "${prefix}\n\n${content}";
    }
  }
  
  
negative.code:     final name = data["name"];
      final type = data["type"];
      
      _classBuffer.writelnVariables("\t\tstatic $name: ${_handleType(type)};");
    }
    
    addClassMember(Map<String, dynamic> data) {
      final name = data["name"];
      final type = data["type"];
      
      _classBuffer.writelnVariables("\t\t$name: ${_handleType(type)};");
    }
  }