private Type getRuntimeTypeIfMoreSpecific(Type type, Object value) {
    if (value != null
        && (type == Object.class || type instanceof TypeVariable<?> || type instanceof Class<?>)) {
      type = value.getClass();
    }
    return type;
  }
private Type getRuntimeTypeIfMoreSpecific(Type type, Object value) {
    if (value != null
        && (type == Object.class || type instanceof TypeVariable<?> || type instanceof Class<?>)) {
      type = value.getClass();
    }
    return type;
  }
private Type getRuntimeTypeIfMoreSpecific ( Type type , Object value ) { if ( value != null && ( type == Object . class || type instanceof TypeVariable < ? > || type instanceof Class < ? > ) ) { type = value . getClass ( ) ; } return type ; }
Finds a compatible runtime type if it is more specific
Finds a compatible runtime type if it is more specific