docs: public @Nonnull <T> Optional<T> findBean(@Nullable BeanResolutionContext resolutionContext, @Nonnull Class<T> beanType, @Nullable Qualifier<T> qualifier) {
          ArgumentUtils.requireNonNull("beanType", beanType);
          // allow injection the bean context
          if (thisInterfaces.contains(beanType)) {
              return Optional.of((T) this);
          }
  
          T bean = getBeanInternal(resolutionContext, beanType, qualifier, true, false);
          if (bean == null) {
              return Optional.empty();
          } else {
              return Optional.of(bean);
          }
      }