this.ejb2XRemoveMethod = Interceptors.getChainedInterceptorFactory(StatefulSessionSynchronizationInterceptor.factory(componentDescription.getTransactionManagementType()), new ImmediateInterceptorFactory(new StatefulRemoveInterceptor(false)), Interceptors.getTerminalInterceptorFactory());
this.cache = componentDescription.getCache();
MarshallingConfiguration marshallingConfiguration = new MarshallingConfiguration();
marshallingConfiguration.setSerializedCreator(new SunReflectiveCreator());
marshallingConfiguration.setExternalizerCreator(new ReflectiveCreator());
marshallingConfiguration.setClassResolver(new ClassLoaderAwareClassResolver(ModularClassResolver.getInstance(componentConfiguration.getModuleLoader()), componentConfiguration.getModuleClassLoader()));
marshallingConfiguration.setSerializabilityChecker(new StatefulSessionBeanSerializabilityChecker(componentConfiguration.getComponentClass()));
marshallingConfiguration.setClassTable(new StatefulSessionBeanClassTable());
// ObjectTable which handles serialization of EJB proxies
marshallingConfiguration.setObjectTable(new EJBClientContextIdentifierObjectTable());
this.marshallingConfigurations = Collections.singletonMap(CURRENT_MARSHALLING_VERSION, marshallingConfiguration);