code: @Override
    public boolean isUnknownType() {
      // If the object is unknown now, check the supertype again,
      // because it might have been resolved since the last check.
      if (unknown) {
        ObjectType implicitProto = getImplicitPrototype();
        if (implicitProto == null || implicitProto.isNativeObjectType()) {
          unknown = false;
          for (ObjectType interfaceType : getCtorExtendedInterfaces()) {
            if (interfaceType.isUnknownType()) {
              unknown = true;
              break;
            }
          }
        } else {
          unknown = implicitProto.isUnknownType();
        }
      }
      return unknown;
    }
docs: We treat this as the unknown type if any of its implicit prototype
  properties is unknown.