static <T> TypeInfoImpl<T> typeInfoFor(T source, Class<T> sourceType,
      InheritingConfiguration configuration) {
    if (configuration.valueAccessStore.getFirstSupportedReader(sourceType) != null)
      return new TypeInfoImpl<T>(source, sourceType, configuration);
    return typeInfoFor(sourceType, configuration);
  }
static < T > TypeInfoImpl < T > typeInfoFor ( T source , Class < T > sourceType , InheritingConfiguration configuration ) { if ( configuration . valueAccessStore . getFirstSupportedReader ( sourceType ) != null ) return new TypeInfoImpl < T > ( source , sourceType , configuration ) ; return typeInfoFor ( sourceType , configuration ) ; }
Returns a non-cached TypeInfoImpl instance if there is no supported ValueAccessReader for the
{@code sourceType}, else a cached TypeInfoImpl instance is returned.