core/src/com/google/inject/spi/InjectionPoint.java
private <T> Dependency<T> newDependency(Key<T> key, boolean allowsNull, int parameterIndex) {
    return new Dependency<T>(this, key, allowsNull, parameterIndex);
  }
private <T> Dependency<T> newDependency(Key<T> key, boolean allowsNull, int parameterIndex) {
    return new Dependency<T>(this, key, allowsNull, parameterIndex);
  }
private < T > Dependency < T > newDependency ( Key < T > key , boolean allowsNull , int parameterIndex ) { return new Dependency < T > ( this , key , allowsNull , parameterIndex ) ; }
This metohd is necessary to create a Dependency<T> with proper generic type information
This metohd is necessary to create a Dependency<T > with proper generic type information