Buggy code:
public class WSRefAnnotationProcessor implements DeploymentUnitProcessor { public void deploy ( final DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } public void undeploy ( final DeploymentUnit unit ) { } private static void processFieldRef ( final DeploymentUnit unit , final WSRefAnnotationWrapper annotation , final FieldInfo fieldInfo ) throws DeploymentUnitProcessingException { } private static void processMethodRef ( final DeploymentUnit unit , final WSRefAnnotationWrapper annotation , final MethodInfo methodInfo ) throws DeploymentUnitProcessingException { } private static void processClassRef ( final DeploymentUnit unit , final WSRefAnnotationWrapper annotation , final ClassInfo classInfo ) throws DeploymentUnitProcessingException { } private static void processRef ( final DeploymentUnit unit , final String type , final WSRefAnnotationWrapper annotation , final ClassInfo classInfo , final InjectionTarget injectionTarget , final String bindingName ) throws DeploymentUnitProcessingException { final UnifiedServiceRefMetaData serviceRefUMDM = WSRefAnnotationProcessor . getServiceRef ( unit , bindingName ) ; WSRefAnnotationProcessor . initServiceRef ( unit , serviceRefUMDM , type , annotation ) ; WSRefAnnotationProcessor . processWSFeatures ( unit , serviceRefUMDM , injectionTarget , classInfo ) ; final EEModuleDescription moduleDescription = unit . getAttachment ( EE_MODULE_DESCRIPTION ) ; final EEModuleClassDescription classDescription = moduleDescription . addOrGetLocalClassDescription ( classInfo . name ( ) . toString ( ) ) ; final InjectionSource serviceRefSource = new WSRefValueSource ( serviceRefUMDM ) ; final BindingConfiguration bindingConfiguration = new BindingConfiguration ( bindingName , serviceRefSource ) ; classDescription . getBindingConfigurations ( ) . add ( bindingConfiguration ) ; final ResourceInjectionConfiguration injectionConfiguration = ( injectionTarget != null ) ? new ResourceInjectionConfiguration ( injectionTarget , new LookupInjectionSource ( bindingName ) ) : null ; if ( injectionConfiguration != null ) { <START_BUG> classDescription . getInjectionConfigurations ( ) . add ( injectionConfiguration ) ; <END_BUG> } } private static void processWSFeatures ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final InjectionTarget injectionTarget , final ClassInfo classInfo ) throws DeploymentUnitProcessingException { } private static UnifiedServiceRefMetaData getServiceRef ( final DeploymentUnit unit , final String name ) { } private static void processInjectionTarget ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final ClassInfo classInfo ) throws DeploymentUnitProcessingException { } private static void processInjectionTarget ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final InjectionTarget injectionTarget ) throws DeploymentUnitProcessingException { } private static String getInjectionTargetName ( final InjectionTarget injectionTarget ) { } private static UnifiedServiceRefMetaData initServiceRef ( final DeploymentUnit unit , final UnifiedServiceRefMetaData serviceRefUMDM , final String type , final WSRefAnnotationWrapper annotation ) throws DeploymentUnitProcessingException { } private static Class < ? > getClass ( final ClassLoader classLoader , final String className ) throws DeploymentUnitProcessingException { } private static UnifiedVirtualFile getUnifiedVirtualFile ( final DeploymentUnit unit ) { } private static boolean isEmpty ( final String string ) { } }

Fix:
classDescription . addResourceInjection ( injectionConfiguration ) ;