this.statefulTimeout = componentDescription.getStatefulTimeout();
//the interceptor chain for EJB e.x remove methods
this.ejb2XRemoveMethod = Interceptors.getChainedInterceptorFactory(StatefulSessionSynchronizationInterceptor.factory(componentDescription.getTransactionManagementType()), new ImmediateInterceptorFactory(new StatefulRemoveInterceptor(false)), Interceptors.getTerminalInterceptorFactory());
this.cache = componentDescription.getCache();
this.marshallingConfiguration = new MarshallingConfiguration();
this.marshallingConfiguration.setSerializedCreator(new SunReflectiveCreator());
this.marshallingConfiguration.setExternalizerCreator(new ReflectiveCreator());
this.marshallingConfiguration.setClassResolver(new ClassLoaderAwareClassResolver(ModularClassResolver.getInstance(componentConfiguration.getModuleLoader()), componentConfiguration.getModuleClassLoader()));
this.marshallingConfiguration.setSerializabilityChecker(new StatefulSessionBeanSerializabilityChecker(componentConfiguration.getComponentClass()));
this.marshallingConfiguration.setClassTable(new StatefulSessionBeanClassTable());
this.serializableInterceptorContextKeys = componentConfiguration.getInterceptorContextKeys();