core/play/src/main/java/play/inject/BindingKey.java
public <P extends Provider<? extends T>> Binding<T> toProvider(final Class<P> provider) {
    return underlying.toProvider(provider).asJava();
  }
public <P extends Provider<? extends T>> Binding<T> toProvider(final Class<P> provider) {
    return underlying.toProvider(provider).asJava();
  }
public < P extends Provider < ? extends T > > Binding < T > toProvider ( final Class < P > provider ) { return underlying . toProvider ( provider ) . asJava ( ) ; }
Bind this binding key to the given provider class.

<p>The dependency injection framework will instantiate and inject this provider, and then
invoke its `get` method whenever an instance of the class is needed.
Bind this binding key to the given provider class .