anchor.diff:  import 'dart:html' as html;
  +
  +import '../lib/services/services_common.dart' as data;
  +
  +class Test {
  +  Map outlineTopLevelVariableMap = {
  +      "name": "varName",
  +      "startOffset": 10,
  +      "endOffset": 20,
  +      "type": "top-level-variable"};
  +
  +  Map outlineClassMap = {
  +      "name": "className",
  +      "startOffset": 30,
  +      "endOffset": 40,
  +      "abstract": true,
  +      "members": [],
  +      "type": "class"};
  +
  +  Map outlineFunctionMap = {
  +      "name": "functionName",
  +      "startOffset": 50,
  +      "endOffset": 60,
  +      "type": "function"};
  +
  +  Map outlineMethodMap = {
  +      "name": "methodName",
  +      "startOffset": 70,
  +      "endOffset": 80,
  +      "type": "method"};
  +
  +  Map outlineClassVariableMap = {
  +      "name": "variableName",
  +      "startOffset": 90,
  +      "endOffset": 100,
  +      "type": "class-variable"};
  +
  +  data.Outline outline;
  +
  +  test() {
  +    data.OutlineTopLevelVariable outlineTopLevelVariable =
  +        new data.OutlineTopLevelEntry.fromMap(outlineTopLevelVariableMap);
  +
  +    data.OutlineClass outlineEmptyClass =
  +        new data.OutlineTopLevelEntry.fromMap(outlineClassMap);
  +
  +    // Fill the class and re-test
  +    outlineClassMap['members'].add(outlineClassVariableMap);
  +    outlineClassMap['members'].add(outlineMethodMap);
  +
  +    data.OutlineClass outlineClass =
  +        new data.OutlineTopLevelEntry.fromMap(outlineClassMap);
  +
  +    data.OutlineTopLevelFunction outlineFunction =
  +        new data.OutlineTopLevelEntry.fromMap(outlineFunctionMap);
  +    outline = new data.Outline.fromMap({
  +      "entries": [outlineTopLevelVariableMap, outlineClassMap, outlineFunctionMap]});
  +  }
  +}
   
   class Outline {
     html.DivElement _outlineDiv;
  
positive.code:     return item;
    }
  
    OutlineTopLevelVariable addVariable() =>
        _addItem(new OutlineTopLevelVariable());
    OutlineTopLevelFunction addFunction() =>
        _addItem(new OutlineTopLevelFunction());
  
    OutlineClass addClass() {
      OutlineClass classItem = new OutlineClass();
      _addItem(classItem);
      _rootList.append(classItem._childrenRootElement);
      return classItem;
  
negative.code:         ..opacity = '0.6';
      _rootList = new html.UListElement();
      _outlineDiv.append(_rootList);
      Test test = new Test();
  
      test.test();
  
      populate(test.outline);
  
  //    addClass()
  //      ..addMethod()
  //      ..addProperty();
  //    addVariable();
  //    addFunction();
    }
  
    void populate(data.Outline outline) {
      for (data.OutlineTopLevelEntry model in outline.entries) {
        _create(model);
      }
    }
  
    OutlineTopLevelItem _create(data.OutlineTopLevelEntry model) {
      if (model is data.OutlineClass) {
        return addClass(model);
      } else if (model is data.OutlineTopLevelVariable) {
        return addVariable(model);
      } else if (model is data.OutlineTopLevelFunction) {
        return addFunction(model);
      } else {
        throw new UnimplementedError("Unknown type");
      }
    }
  
  
    void toggle() {
      if (_outlineDiv.style.display == 'none') {
  