Buggy code:
private TransactionManagementType transactionManagementType = TransactionManagementType . CONTAINER ; private final Map < MethodIntf , TransactionAttributeType > txPerViewStyle1 = new HashMap < MethodIntf , TransactionAttributeType > ( ) ; private EnterpriseBeanMetaData descriptorData ; private String securityDomain ; private final Set < String > declaredRoles = new HashSet < String > ( ) ; private String runAsRole ; private String runAsPrincipal ; private SecurityRolesMetaData securityRoles ; private final Map < String , Collection < EJBMethodIdentifier > > methodLevelDenyAll = new HashMap < String , Collection < EJBMethodIdentifier > > ( ) ; private final Map < String , Collection < String > > classLevelDenyAll = new HashMap < String , Collection < String > > ( ) ; private final Map < String , Map < EJBMethodIdentifier , Set < String > > > methodLevelRolesAllowed = new HashMap < String , Map < EJBMethodIdentifier , Set < String > > > ( ) ; private final Map < String , Map < String , Set < String > > > classLevelRolesAllowed = new HashMap < String , Map < String , Set < String > > > ( ) ; private final Map < String , Collection < String > > securityRoleLinks = new HashMap < String , Collection < String > > ( ) ; private final Map < String , Collection < EJBMethodIdentifier > > methodLevelPermitAll = new HashMap < String , Collection < EJBMethodIdentifier > > ( ) ; private final Map < String , Collection < String > > classLevelPermitAll = new HashMap < String , Collection < String > > ( ) ; private final Map < Method , List < AutoTimer > > scheduleMethods = new IdentityHashMap < Method , List < AutoTimer > > ( ) ; private Method timeoutMethod ; private EJBViewDescription ejbLocalView ; private EjbHomeViewDescription ejbLocalHomeView ; private EJBViewDescription ejbRemoteView ; private EjbHomeViewDescription ejbHomeView ; private TimerService timerService = NonFunctionalTimerService . INSTANCE ; private boolean exposedViaIiop = false ; private final PopulatingMap < MethodIntf , Map < String , TransactionAttributeType > > txPerViewStyle2 = new PopulatingMap < MethodIntf , Map < String , TransactionAttributeType > > ( ) { @ Override Map < String , TransactionAttributeType > populate ( ) { } } ; private final PopulatingMap < MethodIntf , PopulatingMap < String , Map < ArrayKey , TransactionAttributeType > > > txPerViewStyle3 = new PopulatingMap < MethodIntf , PopulatingMap < String , Map < ArrayKey , TransactionAttributeType > > > ( ) { @ Override PopulatingMap < String , Map < ArrayKey , TransactionAttributeType > > populate ( ) { } } ; private final Map < String , TransactionAttributeType > txStyle1 = new HashMap < String , TransactionAttributeType > ( ) ; private final Map < String , TransactionAttributeType > txStyle2 = new HashMap < String , TransactionAttributeType > ( ) ; private final PopulatingMap < String , PopulatingMap < String , Map < ArrayKey , TransactionAttributeType > > > txStyle3 = new PopulatingMap < String , PopulatingMap < String , Map < ArrayKey , TransactionAttributeType > > > ( ) { @ Override PopulatingMap < String , Map < ArrayKey , TransactionAttributeType > > populate ( ) { } } ; public EJBComponentDescription ( final String componentName , final String componentClassName , final EjbJarDescription ejbJarDescription , final ServiceName deploymentUnitServiceName ) { } private static < K , V > V get ( Map < K , V > map , K key ) { } public TransactionAttributeType getTransactionAttribute ( MethodIntf methodIntf , String className , String methodName , String ... methodParams ) { } public void addLocalHome ( final String localHome ) { } public void addRemoteHome ( final String remoteHome ) { } public void addEjbLocalObjectView ( final String viewClassName ) { } public void addEjbObjectView ( final String viewClassName ) { } public TransactionManagementType getTransactionManagementType ( ) { } public void setTransactionAttribute ( MethodIntf methodIntf , String className , TransactionAttributeType transactionAttribute ) { } public void setTransactionAttribute ( MethodIntf methodIntf , TransactionAttributeType transactionAttribute , String methodName ) { } public void setTransactionAttribute ( MethodIntf methodIntf , TransactionAttributeType transactionAttribute , final String className , String methodName , String ... methodParams ) { } public void setTransactionManagementType ( TransactionManagementType transactionManagementType ) { } public String getEJBName ( ) { } public String getEJBClassName ( ) { } protected void setupViewInterceptors ( final EJBViewDescription view ) { view . getConfigurators ( ) . add ( new ViewConfigurator ( ) { @ Override public void configure ( DeploymentPhaseContext context , ComponentConfiguration componentConfiguration , ViewDescription description , ViewConfiguration viewConfiguration ) throws DeploymentUnitProcessingException { <START_BUG> viewConfiguration . addViewInterceptor ( new org . jboss . invocation . ImmediateInterceptorFactory ( LoggingInterceptor . INSTANCE ) , EJB_EXCEPTION_LOGGING_INTERCEPTOR ) ; <END_BUG> if ( ( ( view . getMethodIntf ( ) ) == ( MethodIntf . LOCAL ) ) && ( EJBLocalObject . class . isAssignableFrom ( viewConfiguration . getViewClass ( ) ) ) ) { viewConfiguration . addViewInterceptor ( LOCAL_INSTANCE , REMOTE_EXCEPTION_TRANSFORMER ) ; } else if ( ( view . getMethodIntf ( ) ) == ( MethodIntf . LOCAL_HOME ) ) { viewConfiguration . addViewInterceptor ( LOCAL_INSTANCE , REMOTE_EXCEPTION_TRANSFORMER ) ; } } } ) ; this . addCurrentInvocationContextFactory ( view ) ; this . setupSecurityInterceptors ( view ) ; this . setupRemoteViewInterceptors ( view ) ; view . getConfigurators ( ) . addFirst ( new NamespaceViewConfigurator ( ) ) ; } private void setupRemoteViewInterceptors ( final EJBViewDescription view ) { } private void setupHomeViewInterceptors ( final EjbHomeViewDescription ejbHomeViewDescription ) { } protected void setupClientViewInterceptors ( ViewDescription view ) { } protected abstract void addCurrentInvocationContextFactory ( ) { } protected abstract void addCurrentInvocationContextFactory ( ViewDescription view ) { } protected void addRemoteTransactionsRepositoryDependency ( ) { } protected void setupSecurityInterceptors ( final ViewDescription view ) { } private void addToStringMethodInterceptor ( final ViewDescription view ) { } public boolean isMessageDriven ( ) { } public boolean isSingleton ( ) { } public boolean isStateful ( ) { } public boolean isStateless ( ) { }

Fix:
viewConfiguration . addViewInterceptor ( FACTORY , EJB_EXCEPTION_LOGGING_INTERCEPTOR ) ;