anchor.diff:      }
     }
     
  +  /**
  +   * Makes sure that all methods with inherited equivalents have comments.  
  +   */
  +  void ensureComments() {
  +    inheritedMethods.forEach((qualifiedName, inheritedMethod) {
  +      var method = methods[qualifiedName];
  +      if (method != null) method.ensureCommentFor(inheritedMethod);
  +    });
  +  }
  +  
     /** 
      * If a class extends a private superclass, find the closest public superclass
      * of the private superclass. 
  
positive.code:   bool isConst;
    Type returnType;
    
    /// List of the meta annotations on the method.
    List<String> annotations;
    
  
negative.code:       this.returnType, String comment, this.parameters, this.annotations,
        String qualifiedName, bool isPrivate, String owner) : super(name, comment,
            qualifiedName, isPrivate, owner);
    
    /**
     * Makes sure that the method with an inherited equivalent have comments.  
     */
    void ensureCommentFor(Method inheritedMethod) {
      if (comment.isNotEmpty) return;
      entityMap[inheritedMethod.owner].ensureComments();
      comment = inheritedMethod.comment;
      commentInheritedFrom = inheritedMethod.commentInheritedFrom == '' ? 
          inheritedMethod.qualifiedName : inheritedMethod.commentInheritedFrom;
    }
    
    /// Generates a map describing the [Method] object.
    Map toMap() => {
      'name': name,
      'qualifiedname': qualifiedName,
      'comment': comment,
      'commentfrom': commentInheritedFrom,
      'static': isStatic.toString(),
      'abstract': isAbstract.toString(),
      'constant': isConst.toString(),
  