private < T > InternalProviderImpl installInternalProvider ( Class < T > clazz , String bindingName , InternalProviderImpl < ? extends T > internalProvider , boolean isBound , boolean isTestProvider ) { if ( bindingName == null ) { if ( isBound ) { return installUnNamedProvider ( mapClassesToUnNamedBoundProviders , clazz , internalProvider , isTestProvider ) ; } else { return installUnNamedProvider ( mapClassesToUnNamedUnBoundProviders , clazz , internalProvider , isTestProvider ) ; } } else { return installNamedProvider ( mapClassesToNamedBoundProviders , clazz , bindingName , internalProvider , isTestProvider ) ; } }
Installs a provider either in the scope or the pool of unbound providers .