core/src/com/google/inject/internal/ProvisionListenerCallbackStore.java
@SuppressWarnings(
      "unchecked") // the ProvisionListenerStackCallback type always agrees with the passed type
  public <T> ProvisionListenerStackCallback<T> get(Binding<T> binding) {
    // Never notify any listeners for internal bindings.
    if (!INTERNAL_BINDINGS.contains(binding.getKey())) {
      ProvisionListenerStackCallback<T> callback =
          (ProvisionListenerStackCallback<T>)
              cache.getUnchecked(new KeyBinding(binding.getKey(), binding));
      return callback.hasListeners() ? callback : null;
    }
    return null;
  }
@SuppressWarnings(
      "unchecked") // the ProvisionListenerStackCallback type always agrees with the passed type
  public <T> ProvisionListenerStackCallback<T> get(Binding<T> binding) {
    // Never notify any listeners for internal bindings.
    if (!INTERNAL_BINDINGS.contains(binding.getKey())) {
      ProvisionListenerStackCallback<T> callback =
          (ProvisionListenerStackCallback<T>)
              cache.getUnchecked(new KeyBinding(binding.getKey(), binding));
      return callback.hasListeners() ? callback : null;
    }
    return null;
  }
Returns a new {@link ProvisionListenerStackCallback} for the key or {@code null} if there are
no listeners