code: private <T> InternalProviderImpl<? extends T> installUnBoundProvider(Class<T> clazz, String bindingName,
        InternalProviderImpl<? extends T> internalProvider) {
      return installInternalProvider(clazz, bindingName, internalProvider, false, false);
    }
docs: Install the provider of the class {@code clazz} and name {@code bindingName}
  in the pool of unbound providers.
  
  @param clazz the class for which to install the provider.
  @param bindingName the name, possibly {@code null}, for which to install the scoped provider.
  @param internalProvider the internal provider to install.
  @param <T> the type of {@code clazz}.