@SuppressWarnings("WeakerAccess")
    @Internal
    protected final Collection getBeansOfTypeForMethodArgument(BeanResolutionContext resolutionContext, BeanContext context, MethodInjectionPoint injectionPoint, Argument argument) {
        return resolveBeanWithGenericsFromMethodArgument(resolutionContext, injectionPoint, argument, (beanType, qualifier) -> {
                    boolean hasNoGenerics = !argument.getType().isArray() && argument.getTypeVariables().isEmpty();
                    if (hasNoGenerics) {
                        return ((DefaultBeanContext) context).getBean(resolutionContext, beanType, qualifier);
                    } else {
                        return ((DefaultBeanContext) context).getBeansOfType(resolutionContext, beanType, qualifier);
                    }

                }
        );
    }
@ SuppressWarnings ( "WeakerAccess" ) @ Internal protected final Collection getBeansOfTypeForMethodArgument ( BeanResolutionContext resolutionContext , BeanContext context , MethodInjectionPoint injectionPoint , Argument argument ) { return resolveBeanWithGenericsFromMethodArgument ( resolutionContext , injectionPoint , argument , ( beanType , qualifier ) -> { boolean hasNoGenerics = ! argument . getType ( ) . isArray ( ) && argument . getTypeVariables ( ) . isEmpty ( ) ; if ( hasNoGenerics ) { return ( ( DefaultBeanContext ) context ) . getBean ( resolutionContext , beanType , qualifier ) ; } else { return ( ( DefaultBeanContext ) context ) . getBeansOfType ( resolutionContext , beanType , qualifier ) ; } } ) ; }
Obtains all bean definitions for the method at the given index and the argument at the given index
<p>
Warning: this method is used by internal generated code and should not be called by user code.

@param resolutionContext The resolution context
@param context           The context
@param injectionPoint    The method injection point
@param argument          The argument
@return The resolved bean