anchor.diff:      _prefs.setValue('OutlineCollapsed', value);
     }
   
  -  OutlineTopLevelItem _addItem(OutlineTopLevelItem item) {
  +  OutlineTopLevelItem _addItem(OutlineItem item) {
  +    _outlineItems.add(item);
       _rootList.append(item.element);
       item.onClick.listen((event) => _childSelectedController.add(item));
       return item;
     }
   
     OutlineTopLevelVariable _addVariable(services.OutlineTopLevelVariable data) =>
  -      _addItem(new OutlineTopLevelVariable(data, _outlineItems));
  +      _addItem(new OutlineTopLevelVariable(data));
   
     OutlineTopLevelFunction _addFunction(services.OutlineTopLevelFunction data) =>
  -      _addItem(new OutlineTopLevelFunction(data, _outlineItems));
  +      _addItem(new OutlineTopLevelFunction(data));
   
     OutlineClass _addClass(services.OutlineClass data) {
  -    OutlineClass classItem = new OutlineClass(data, _outlineItems);
  +    OutlineClass classItem = new OutlineClass(data);
       classItem.onChildSelected.listen((event) =>
           _childSelectedController.add(event));
       _addItem(classItem);
  +    for (OutlineClassMember member in classItem.members) {
  +      _addItem(member);
  +    }
       return classItem;
     }
   
  
positive.code:     return item;
    }
  
    void _populate(services.OutlineClass classData,
                   List<OutlineItem> outlineItems) {
      for (services.OutlineEntry data in classData.members) {
        _createMember(data, outlineItems);
      }
    }
  
  
negative.code:   html.SpanElement _typeSpan;
    OffsetRange _offsetRange;
  
    OutlineItem(this._data, String cssClassName) {
      _offsetRange = new OffsetRange(_data.bodyStartOffset, _data.bodyEndOffset);
  
      _element = new html.LIElement();
  