extensions/throwingproviders/src/com/google/inject/throwingproviders/CheckedProviders.java
public static <T, P extends CheckedProvider<? super T>> P of(
      Class<P> providerType, @Nullable T instance) {
    return of(TypeLiteral.get(providerType), instance);
  }
public static <T, P extends CheckedProvider<? super T>> P of(
      Class<P> providerType, @Nullable T instance) {
    return of(TypeLiteral.get(providerType), instance);
  }
public static < T , P extends CheckedProvider < ? super T > > P of ( Class < P > providerType , @ Nullable T instance ) { return of ( TypeLiteral . get ( providerType ) , instance ) ; }
Returns a {@link CheckedProvider} which always provides {@code instance}.

@param providerType the type of the {@link CheckedProvider} to return
@param instance the instance that should always be provided
@see #of(TypeLiteral, T)
Returns a { @link CheckedProvider } which always provides { @code instance } .