code: private <T> Provider<T> lookupProvider(Key<T> key)
    {
      BindingInject<T> bean = findBean(key);
  
      if (bean != null) {
        return bean.provider();
      }
  
      BindingAmp<T> binding = findBinding(key);
  
      if (binding != null) {
        return binding.provider();
      }
  
      binding = findObjectBinding(key);
  
      if (binding != null) {
        return binding.provider(InjectionPoint.of(key));
      }
  
  
      return null;
    }
docs: Search for a matching provider for a key.