Buggy code:
public final class ComponentInstallProcessor implements DeploymentUnitProcessor { public void deploy ( final DeploymentPhaseContext phaseContext ) throws DeploymentUnitProcessingException { } protected void deployComponent ( final DeploymentPhaseContext phaseContext , final ComponentConfiguration configuration ) throws DeploymentUnitProcessingException { final DeploymentUnit deploymentUnit = phaseContext . getDeploymentUnit ( ) ; final ServiceTarget serviceTarget = phaseContext . getServiceTarget ( ) ; final String applicationName = configuration . getApplicationName ( ) ; final String moduleName = configuration . getModuleName ( ) ; final String componentName = configuration . getComponentName ( ) ; final ServiceName baseName = deploymentUnit . getServiceName ( ) . append ( "component" ) . append ( componentName ) ; final ServiceName createServiceName = baseName . append ( "CREATE" ) ; final ServiceName startServiceName = baseName . append ( "START" ) ; final BasicComponentCreateService createService = configuration . getComponentCreateServiceFactory ( ) . constructService ( configuration ) ; final ServiceBuilder < Component > createBuilder = serviceTarget . addService ( createServiceName , createService ) ; createBuilder . addDependency ( deploymentUnit . getServiceName ( ) , DeploymentUnit . class , createService . getDeploymentUnitInjector ( ) ) ; final ComponentStartService startService = new ComponentStartService ( ) ; final ServiceBuilder < Component > startBuilder = serviceTarget . addService ( startServiceName , startService ) ; final EEModuleConfiguration moduleConfiguration = deploymentUnit . getAttachment ( EE_MODULE_CONFIGURATION ) ; if ( moduleConfiguration == null ) { return ; } for ( DependencyConfigurator configurator : configuration . getCreateDependencies ( ) ) { configurator . configureDependency ( createBuilder ) ; } for ( DependencyConfigurator configurator : configuration . getStartDependencies ( ) ) { configurator . configureDependency ( startBuilder ) ; } startBuilder . addDependency ( createServiceName , BasicComponent . class , startService . getComponentInjector ( ) ) ; final ServiceName contextServiceName ; if ( ( configuration . getComponentDescription ( ) . getNamingMode ( ) ) == ( ComponentNamingMode . CREATE ) ) { final RootContextService contextService = new RootContextService ( ) ; contextServiceName = ContextNames . contextServiceNameOfComponent ( configuration . getApplicationName ( ) , configuration . getModuleName ( ) , configuration . getComponentName ( ) ) ; serviceTarget . addService ( contextServiceName , contextService ) . install ( ) ; } else { contextServiceName = ContextNames . contextServiceNameOfModule ( configuration . getApplicationName ( ) , configuration . getModuleName ( ) ) ; } final InjectionSource . ResolutionContext resolutionContext = new InjectionSource . ResolutionContext ( ( ( configuration . getComponentDescription ( ) . getNamingMode ( ) ) == ( ComponentNamingMode . USE_MODULE ) ) , configuration . getComponentName ( ) , configuration . getModuleName ( ) , configuration . getApplicationName ( ) ) ; for ( ViewConfiguration viewConfiguration : configuration . getViews ( ) ) { final ServiceName serviceName = viewConfiguration . getViewServiceName ( ) ; final ViewService viewService = new ViewService ( viewConfiguration ) ; serviceTarget . addService ( serviceName , viewService ) . addDependency ( createServiceName , Component . class , viewService . getComponentInjector ( ) ) . install ( ) ; for ( BindingConfiguration bindingConfiguration : viewConfiguration . getBindingConfigurations ( ) ) { final String bindingName = bindingConfiguration . getName ( ) ; final BinderService service = new BinderService ( bindingName ) ; ServiceBuilder < ManagedReferenceFactory > serviceBuilder = serviceTarget . addService ( ContextNames . serviceNameOfContext ( applicationName , moduleName , componentName , bindingName ) , service ) ; bindingConfiguration . getSource ( ) . getResourceValue ( resolutionContext , serviceBuilder , phaseContext , service . getManagedObjectInjector ( ) ) ; serviceBuilder . addDependency ( ContextNames . serviceNameOfNamingStore ( applicationName , moduleName , componentName , bindingName ) , NamingStore . class , service . getNamingStoreInjector ( ) ) ; serviceBuilder . install ( ) ; } } if ( ( configuration . getComponentDescription ( ) . getNamingMode ( ) ) == ( ComponentNamingMode . CREATE ) ) { <START_BUG> processBindings ( phaseContext , configuration , serviceTarget , contextServiceName , resolutionContext , configuration . getBindingConfigurations ( ) ) ; <END_BUG> new ClassDescriptionTraversal ( configuration . getModuleClassConfiguration ( ) , moduleConfiguration ) { @ Override protected void handle ( final EEModuleClassConfiguration classConfiguration , final EEModuleClassDescription classDescription ) throws DeploymentUnitProcessingException { processBindings ( phaseContext , configuration , serviceTarget , contextServiceName , resolutionContext , classConfiguration . getBindingConfigurations ( ) ) ; } } . run ( ) ; for ( InterceptorDescription interceptor : configuration . getComponentDescription ( ) . getClassInterceptors ( ) ) { final EEModuleClassConfiguration interceptorClass = moduleConfiguration . getClassConfiguration ( interceptor . getInterceptorClassName ( ) ) ; if ( interceptorClass != null ) { new ClassDescriptionTraversal ( interceptorClass , moduleConfiguration ) { @ Override protected void handle ( final EEModuleClassConfiguration classConfiguration , final EEModuleClassDescription classDescription ) throws DeploymentUnitProcessingException { processBindings ( phaseContext , configuration , serviceTarget , contextServiceName , resolutionContext , classConfiguration . getBindingConfigurations ( ) ) ; } } . run ( ) ; } } } createBuilder . install ( ) ; startBuilder . install ( ) ; } private void processBindings ( DeploymentPhaseContext phaseContext , ComponentConfiguration configuration , ServiceTarget serviceTarget , ServiceName contextServiceName , InjectionSource . ResolutionContext resolutionContext , List < BindingConfiguration > bindings ) throws DeploymentUnitProcessingException { } public void undeploy ( final DeploymentUnit context ) { } }

Fix:
processBindings ( phaseContext , configuration , serviceTarget , contextServiceName , resolutionContext , configuration . getComponentDescription ( ) . getBindingConfigurations ( ) ) ;