The BeanLocator lets you lookup and keep watch for bean implementations;
 it does this by processing binding information from one or more BindingPublishers, such as injectors.
 
 You can add or remove BindingPublishers using the MutableBeanLocator
 view; any existing watchers or returned collections are updated to reflect the latest binding information.
 
 DefaultBeanLocator will automatically add any injectors it's bound in by virtue
 of an injected setter. This makes it easy to share across multiple injectors with a simple instance binding: 
 
 
 Module locatorModule = new AbstractModule() {
   private final DefaultBeanLocator locator = new DefaultBeanLocator();
   
   @Override protected void configure() {
     bind( DefaultBeanLocator.class ).toInstance( locator );
   }
 };
 
 Injector injectorA = Guice.createInjector( new WireModule( locatorModule, spaceModuleA ) );   // adds injectorA to locator
 Injector injectorB = Guice.createInjector( new WireModule( locatorModule, spaceModuleB ) );   // adds injectorB to locator
 
 If you want to use a DefaultBeanLocator in a given injector, but don't want that injector
 added automatically, wrap the locator inside a provider to hide the injected setter from Guice:
 
bind( DefaultBeanLocator.class ).toProvider( Providers.of( locator ) );By default all bindings in an injector are separated into two partitions (default vs non-default) and ranked according to their sequence number. This is so bindings from multiple injectors can be interleaved to keep default components prioritized before non-default, while still maintaining an overall ordering between injectors. To override the default bind your own
RankingFunction:
 
bind( RankingFunction.class ).to( MyRankingFunction.class );
| AnnotatedSource | Binding source locations can implement this interface to supply annotations to the BeanLocator. | 
| BeanLocator | Finds and tracks bean implementations annotated with Qualifier annotations. | 
| BindingPublisher | Publisher of Bindings to interested BindingSubscribers. | 
| BindingSubscriber<T> | Subscriber of Bindings from one or more BindingPublishers. | 
| DeferredClass<T> | Placeholder Class; postpones classloading until absolutely necessary. | 
| DeferredProvider<T> | Provider backed by a DeferredClass. | 
| MutableBeanLocator | Mutable BeanLocatorthat finds and tracks bindings across zero or moreBindingPublishers. | 
| RankingFunction | Assigns each Binding a rank according to some function; higher ranks take precedence over lower ranks. | 
| DefaultBeanLocator | Default MutableBeanLocatorthat locates qualified beans across a dynamic group ofBindingPublishers. | 
| DefaultRankingFunction | Simple RankingFunctionthat partitions qualified bindings into two main groups. | 
| Guice4 | Utility methods for dealing with changes in the Guice 4.0 SPI. | 
| InjectorBindings | Publisher of Bindings from a single Injector; ranked according to a given RankingFunction. | 
| Legacy<S> | This class is deprecated. Limited support for migrating legacy types. | 
| Logs | Utility methods for dealing with container logging and recovery. | 
| Soft | Utility methods for dealing with SoftReference collections. | 
| Sources | Utility methods for dealing with annotated sources. | 
| TypeArguments | Utility methods for dealing with generic type arguments. | 
| Weak | Utility methods for dealing with WeakReference collections. |