code: @Nullable static ObjectType getObjectType(
        @Nullable ObjectType referenceType,
        boolean isOverride,
        String propertyName) {
      if (referenceType == null) {
        return null;
      }
  
      // Find the lowest property defined on a class with visibility information.
      ObjectType current = isOverride ? referenceType.getImplicitPrototype() : referenceType;
      for (; current != null; current = current.getImplicitPrototype()) {
        JSDocInfo docInfo = current.getOwnPropertyJSDocInfo(propertyName);
        if (docInfo != null && docInfo.getVisibility() != Visibility.INHERITED) {
          return current;
        }
      }
      return null;
    }
docs: Returns the lowest property defined on a class with visibility information.