code: protected @Nonnull <T> BeanDefinition<T> findConcreteCandidate(
              @Nonnull Class<T> beanType,
              @Nullable Qualifier<T> qualifier,
              @Nonnull Collection<BeanDefinition<T>> candidates) {
          throw new NonUniqueBeanException(beanType, candidates.iterator());
      }
docs: Fall back method to attempt to find a candidate for the given definitions.
  
  @param beanType   The bean type
  @param qualifier  The qualifier
  @param candidates The candidates
  @param <T>        The generic time
  @return The concrete bean definition