public <T, X> ParameterInjectionPoint<T, X> createParameterInjectionPoint(EnhancedAnnotatedParameter<T, X> parameter,
            Bean<?> declaringBean, Class<?> declaringComponentClass, BeanManagerImpl manager) {
        ParameterInjectionPointAttributes<T, X> attributes = InferringParameterInjectionPointAttributes.of(parameter,
            declaringBean, declaringComponentClass, manager);
        attributes = processInjectionPoint(attributes, declaringComponentClass, manager);
        return new ParameterInjectionPointImpl<T, X>(attributes);
    }
public < T , X > ParameterInjectionPoint < T , X > createParameterInjectionPoint ( EnhancedAnnotatedParameter < T , X > parameter , Bean < ? > declaringBean , Class < ? > declaringComponentClass , BeanManagerImpl manager ) { ParameterInjectionPointAttributes < T , X > attributes = InferringParameterInjectionPointAttributes . of ( parameter , declaringBean , declaringComponentClass , manager ) ; attributes = processInjectionPoint ( attributes , declaringComponentClass , manager ) ; return new ParameterInjectionPointImpl < T , X > ( attributes ) ; }
Creates a new {@link ParameterInjectionPoint} and fires the {@link ProcessInjectionPoint} event.

@param parameter
@param declaringBean
@param declaringComponentClass used for resolution of type variables of the injection point type
@param manager
@return