docs: public <X> List<ParameterInjectionPoint<?, X>> getParameterInjectionPoints(EnhancedAnnotatedCallable<?, X, ?> callable,
              Bean<?> declaringBean, Class<?> declaringComponentClass, BeanManagerImpl manager, boolean observerOrDisposer) {
          List<ParameterInjectionPoint<?, X>> parameters = new ArrayList<ParameterInjectionPoint<?, X>>();
  
          /*
           * bean that the injection point belongs to this is null for observer and disposer methods
           */
          Bean<?> bean = null;
          if (!observerOrDisposer) {
              bean = declaringBean;
          }
  
          for (EnhancedAnnotatedParameter<?, X> parameter : callable.getEnhancedParameters()) {
              if (isSpecialParameter(parameter)) {
                  parameters.add(SpecialParameterInjectionPoint.of(parameter, bean, declaringBean.getBeanClass(), manager));
              } else {
                  parameters.add(createParameterInjectionPoint(parameter, bean, declaringComponentClass, manager));
              }
          }
          return ImmutableList.copyOf(parameters);
      }