anchor.diff:      }
       if (type is ParameterizedType &&
           DartTypeUtilities.implementsAnyInterface(type, collectionInterfaces)) {
  -      // todo (pq): improve....
         return type.typeParameters.length == 1 &&
             isWidgetProperty(type.typeArguments.first);
       }
       return false;
     }
  +
  +  bool skipForDiagnostic(
  +          {Element element, DartType type, SimpleIdentifier name}) =>
  +      isPrivate(name) || _isOverridingMember(element) || isWidgetProperty(type);
   }
  
positive.code:         .forEach((p) {
        var debugName;
        var name;
        if (p.name.startsWith('debug') && p.name.length > 5) {
          debugName = p.name;
          name = '${p.name[5].toLowerCase()}${p.name.substring(6)}';
        } else {
          name = p.name;
          debugName = 'debug${p.name[0].toUpperCase()}${p.name.substring(1)}';
        }
        properties.removeWhere(
            (property) => property.name == debugName || property.name == name);
  
negative.code:     var properties = <SimpleIdentifier>[];
      for (var member in node.members) {
        if (member is MethodDeclaration && member.isGetter) {
          if (!member.isStatic &&
              !skipForDiagnostic(
                element: member.declaredElement,
                name: member.name,
                type: member.returnType?.type,
              )) {
            properties.add(member.name);
          }
        } else if (member is FieldDeclaration) {
          for (var v in member.fields.variables) {
            if (!v.declaredElement.isStatic &&
                !skipForDiagnostic(
                  element: v.declaredElement,
                  name: v.name,
                  type: v.declaredElement.type,
                )) {
              properties.add(v.name);
            }
          }
        }
      }
  