Buggy code:
public class EjbRefProcessor extends AbstractDeploymentDescriptorBindingsProcessor { protected List < BindingConfiguration > processDescriptorEntries ( DeploymentUnit deploymentUnit , DeploymentDescriptorEnvironment environment , EEModuleDescription moduleDescription , ComponentDescription componentDescription , ClassLoader classLoader , DeploymentReflectionIndex deploymentReflectionIndex ) throws DeploymentUnitProcessingException { EJBLocalReferencesMetaData ejbLocalRefs = environment . getEnvironment ( ) . getEjbLocalReferences ( ) ; List < BindingConfiguration > bindingDescriptions = new ArrayList < BindingConfiguration > ( ) ; if ( ejbLocalRefs != null ) { for ( EJBLocalReferenceMetaData ejbRef : ejbLocalRefs ) { String name = ejbRef . getEjbRefName ( ) ; String ejbName = ejbRef . getLink ( ) ; String lookup = ejbRef . getLookupName ( ) ; String localInterface = ejbRef . getLocal ( ) ; Class < ? > localInterfaceType = null ; if ( ! ( isEmpty ( localInterface ) ) ) { try { classLoader . loadClass ( localInterface ) ; } catch ( ClassNotFoundException e ) { throw new DeploymentUnitProcessingException ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>load<seq2seq4repair_space>local<seq2seq4repair_space>interface<seq2seq4repair_space>type<seq2seq4repair_space>" + localInterface ) , e ) ; } } if ( ! ( name . startsWith ( "java:" ) ) ) { name = ( environment . getDefaultContext ( ) ) + name ; } LookupInjectionSource injectionSource = new LookupInjectionSource ( name ) ; <START_BUG> localInterfaceType = processInjectionTargets ( componentDescription . getClassDescription ( ) , injectionSource , classLoader , deploymentReflectionIndex , ejbRef , localInterfaceType ) ; <END_BUG> if ( localInterfaceType == null ) { throw new DeploymentUnitProcessingException ( ( ( ( "Could<seq2seq4repair_space>not<seq2seq4repair_space>determine<seq2seq4repair_space>type<seq2seq4repair_space>of<seq2seq4repair_space>ejb-local-ref<seq2seq4repair_space>" + name ) + "<seq2seq4repair_space>for<seq2seq4repair_space>component<seq2seq4repair_space>" ) + componentDescription ) ) ; } BindingConfiguration bindingConfiguration = null ; if ( ! ( isEmpty ( lookup ) ) ) { bindingConfiguration = new BindingConfiguration ( name , new LookupInjectionSource ( lookup ) ) ; } else if ( ! ( isEmpty ( ejbName ) ) ) { final ServiceName beanServiceName = deploymentUnit . getServiceName ( ) . append ( "component" ) . append ( ejbName ) . append ( "VIEW" ) . append ( localInterfaceType . getName ( ) ) ; bindingConfiguration = new BindingConfiguration ( name , new org . jboss . as . ee . component . ServiceInjectionSource ( beanServiceName ) ) ; } else { throw new RuntimeException ( "Support<seq2seq4repair_space>for<seq2seq4repair_space>ejb-local-ref<seq2seq4repair_space>without<seq2seq4repair_space>lookup<seq2seq4repair_space>or<seq2seq4repair_space>ejb-link<seq2seq4repair_space>isn't<seq2seq4repair_space>yet<seq2seq4repair_space>implemented" ) ; } } } return bindingDescriptions ; } private boolean isEmpty ( String string ) { } }

Fix:
localInterfaceType = processInjectionTargets ( moduleDescription , injectionSource , classLoader , deploymentReflectionIndex , ejbRef , localInterfaceType ) ;