core/src/com/google/inject/internal/ProvisionListenerCallbackStore.java
private <T> ProvisionListenerStackCallback<T> create(Binding<T> binding) {
    List<ProvisionListener> listeners = null;
    for (ProvisionListenerBinding provisionBinding : listenerBindings) {
      if (provisionBinding.getBindingMatcher().matches(binding)) {
        if (listeners == null) {
          listeners = Lists.newArrayList();
        }
        listeners.addAll(provisionBinding.getListeners());
      }
    }
    if (listeners == null || listeners.isEmpty()) {
      // Optimization: don't bother constructing the callback if there are
      // no listeners.
      return ProvisionListenerStackCallback.emptyListener();
    }
    return new ProvisionListenerStackCallback<T>(binding, listeners);
  }
private <T> ProvisionListenerStackCallback<T> create(Binding<T> binding) {
    List<ProvisionListener> listeners = null;
    for (ProvisionListenerBinding provisionBinding : listenerBindings) {
      if (provisionBinding.getBindingMatcher().matches(binding)) {
        if (listeners == null) {
          listeners = Lists.newArrayList();
        }
        listeners.addAll(provisionBinding.getListeners());
      }
    }
    if (listeners == null || listeners.isEmpty()) {
      // Optimization: don't bother constructing the callback if there are
      // no listeners.
      return ProvisionListenerStackCallback.emptyListener();
    }
    return new ProvisionListenerStackCallback<T>(binding, listeners);
  }
private < T > ProvisionListenerStackCallback < T > create ( Binding < T > binding ) { List < ProvisionListener > listeners = null ; for ( ProvisionListenerBinding provisionBinding : listenerBindings ) { if ( provisionBinding . getBindingMatcher ( ) . matches ( binding ) ) { if ( listeners == null ) { listeners = Lists . newArrayList ( ) ; } listeners . addAll ( provisionBinding . getListeners ( ) ) ; } } if ( listeners == null || listeners . isEmpty ( ) ) { // Optimization: don't bother constructing the callback if there are // no listeners. return ProvisionListenerStackCallback . emptyListener ( ) ; } return new ProvisionListenerStackCallback < T > ( binding , listeners ) ; }
Creates a new {@link ProvisionListenerStackCallback} with the correct listeners for the key.
Creates a new {