@Override public <T>T instance(InjectionPoint<T> ip){
  Objects.requireNonNull(ip);
  Provider<T> provider=provider(ip);
  if (provider != null) {
    return provider.get();
  }
 else {
    return null;
  }
}

@ Override public < T > T instance ( InjectionPoint < T > ip ) { Objects . requireNonNull ( ip ) ; Provider < T > provider = provider ( ip ) ; if ( provider != null ) { return provider . get ( ) ; } else { return null ; } }
creates a new bean instance for a given injectionpoint , such as a method or field .
