Buggy code:
public class EjbRefProcessor extends AbstractDeploymentDescriptorBindingsProcessor { protected List < BindingConfiguration > processDescriptorEntries ( DeploymentUnit deploymentUnit , DeploymentDescriptorEnvironment environment , EEModuleDescription moduleDescription , ComponentDescription componentDescription , ClassLoader classLoader , DeploymentReflectionIndex deploymentReflectionIndex , final EEApplicationClasses applicationClasses ) 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 { <START_BUG> classLoader . loadClass ( localInterface ) ; <END_BUG> } 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 ) ; localInterfaceType = processInjectionTargets ( moduleDescription , applicationClasses , injectionSource , classLoader , deploymentReflectionIndex , ejbRef , localInterfaceType ) ; 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 ) ) ; } final BindingConfiguration bindingConfiguration ; EjbInjectionSource ejbInjectionSource = 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 ( ) ) . append ( LOCAL . toString ( ) ) ; bindingConfiguration = new BindingConfiguration ( name , ( ejbInjectionSource = new EjbInjectionSource ( ejbName , localInterfaceType . getName ( ) ) ) ) ; } else { bindingConfiguration = new BindingConfiguration ( name , ( ejbInjectionSource = new EjbInjectionSource ( localInterfaceType . getName ( ) ) ) ) ; } if ( ejbInjectionSource != null ) { deploymentUnit . addToAttachmentList ( EJB_INJECTIONS , ejbInjectionSource ) ; } bindingDescriptions . add ( bindingConfiguration ) ; } } return bindingDescriptions ; } private boolean isEmpty ( String string ) { } }

Fix:
localInterfaceType = classLoader . loadClass ( localInterface ) ;