Buggy code:
public class StatelessComponentDescription extends SessionBeanComponentDescription { private String poolConfigName ; public StatelessComponentDescription ( final String componentName , final String componentClassName , final EjbJarDescription ejbModuleDescription , final ServiceName deploymentUnitServiceName ) { } @ Override public ComponentConfiguration createConfiguration ( final ClassIndex classIndex , final ClassLoader moduleClassLoder ) { final ComponentConfiguration statelessComponentConfiguration = new ComponentConfiguration ( this , classIndex , moduleClassLoder ) ; statelessComponentConfiguration . setComponentCreateServiceFactory ( new StatelessComponentCreateServiceFactory ( ) ) ; final StatelessComponentDescription statelessComponentDescription = ( ( StatelessComponentDescription ) ( statelessComponentConfiguration . getComponentDescription ( ) ) ) ; statelessComponentConfiguration . getCreateDependencies ( ) . add ( new StatelessComponentDescription . PoolInjectingConfigurator ( statelessComponentDescription ) ) ; if ( BEAN . equals ( this . getTransactionManagementType ( ) ) ) { getConfigurators ( ) . add ( new ComponentConfigurator ( ) { @ Override public void configure ( final DeploymentPhaseContext context , final ComponentDescription description , final ComponentConfiguration configuration ) throws DeploymentUnitProcessingException { final ComponentInstanceInterceptorFactory slsbBmtInterceptorFactory = new ComponentInstanceInterceptorFactory ( ) { @ Override protected Interceptor create ( Component component , InterceptorFactoryContext context ) { if ( ! ( component instanceof StatelessSessionComponent ) ) { throw EjbMessages . MESSAGES . componentNotInstanceOfSessionComponent ( component , component . getComponentClass ( ) , "stateless" ) ; } return new StatelessBMTInterceptor ( ( ( StatelessSessionComponent ) ( component ) ) ) ; } } ; configuration . addComponentInterceptor ( slsbBmtInterceptorFactory , BMT_TRANSACTION_INTERCEPTOR , false ) ; configuration . addTimeoutInterceptor ( slsbBmtInterceptorFactory , BMT_TRANSACTION_INTERCEPTOR ) ; } } ) ; } else { getConfigurators ( ) . add ( new ComponentConfigurator ( ) { @ Override public void configure ( final DeploymentPhaseContext context , final ComponentDescription description , final ComponentConfiguration configuration ) throws DeploymentUnitProcessingException { <START_BUG> configuration . addTimeoutInterceptor ( FACTORY , TIMEOUT_CMT_INTERCEPTOR ) ; <END_BUG> } } ) ; } return statelessComponentConfiguration ; } @ Override public boolean allowsConcurrentAccess ( ) { } @ Override public SessionBeanType getSessionBeanType ( ) { } @ Override protected void setupViewInterceptors ( EJBViewDescription view ) { } @ Override protected ViewConfigurator getSessionBeanObjectViewConfigurator ( ) { } @ Override public boolean isTimerServiceApplicable ( ) { } public void setPoolConfigName ( final String poolConfigName ) { } public String getPoolConfigName ( ) { } private class PoolInjectingConfigurator implements DependencyConfigurator < Service < Component > > { private final StatelessComponentDescription statelessComponentDescription ; PoolInjectingConfigurator ( final StatelessComponentDescription statelessComponentDescription ) { } @ Override public void configureDependency ( ServiceBuilder < ? > serviceBuilder , Service < Component > service ) throws DeploymentUnitProcessingException { } } }

Fix:
configuration . addTimeoutInterceptor ( FACTORY , COMPONENT_CMT_INTERCEPTOR ) ;