anchor.diff:    void forEachOverridePair(Class class_,
         callback(Member declaredMember, Member interfaceMember, bool isSetter));
   
  -  /// This method is invoked by the client after a change: removal, adding, or
  -  /// modified classes. For modified classes specify a class as both removed and
  -  /// added: Some of the information that this hierarchy might have cached,
  -  /// is not valid anymore.
  +  /// This method is invoked by the client after a change: removal, addition,
  +  /// or modification of classes.
  +  ///
  +  /// For modified classes specify a class as both removed and added: Some of
  +  /// the information that this hierarchy might have cached, is not valid
  +  /// anymore.
  +  ///
     /// Note, that it is the clients responsibility to mark all subclasses as
     /// changed too.
     ClassHierarchy applyTreeChanges(
  
positive.code:       for (var supertype in class_.implementedTypes) {
          _infoFor[supertype.classNode].directImplementers.add(info);
        }
        _topDownVisitClass(class_);
  
        if (class_.supertype != null) {
          _recordSuperTypes(info, class_.supertype);
  
negative.code:     }
    }
  
    /// Build lists of super types and super classes.
    /// Note that the super class and super types of the class must already have
    /// had their supers collected.
    void _collectSupersForClass(Class class_) {
      _ClassInfo info = _infoFor[class_];
  
      var superclassSetBuilder = new _IntervalListBuilder()
  