code: @Inject
    @Provides
    @Singleton
    public InstanceProvider provideInstanceProvider(Injector injector) {
      return new InstanceProvider() {
        @Override
        public <T> T provide(Class<T> instanceClass) {
          return injector.getInstance(instanceClass);
        }
      };
    }
docs: Provides an {@link InstanceProvider} which uses a <a href="https://github.com/google/guice">Guice</a>
  {@link Injector} to create instances.
  
  @param injector
  <a href="https://github.com/google/guice">Guice</a> {@link Injector} used to create instances
  
  @return an {@link InstanceProvider}