* @param component the component
*/
protected StatefulSessionComponentInstance(final StatefulSessionComponent component, final AtomicReference<ManagedReference> instanceReference, final Interceptor preDestroyInterceptor, final Map<Method, Interceptor> methodInterceptors, final InterceptorFactoryContext factoryContext) {
super(component, instanceReference, preDestroyInterceptor, methodInterceptors);
final SessionID existingSession = (SessionID) factoryContext.getContextData().get(SessionID.class);
this.id = (existingSession != null) ? existingSession : component.getCache().createIdentifier();
this.afterBegin = component.createInterceptor(component.getAfterBegin(), factoryContext);
this.afterCompletion = component.createInterceptor(component.getAfterCompletion(), factoryContext);
this.beforeCompletion = component.createInterceptor(component.getBeforeCompletion(), factoryContext);
this.prePassivate = component.createInterceptor(component.getPrePassivate(), factoryContext);