code: public Object invoke(MethodInvocation invocation) throws Throwable {
  		ProxyMethodInvocation pmi = (ProxyMethodInvocation) invocation;
  		TargetMetaRequest targetMetaRequest = targetMetaRequestsHolder.getTargetMetaRequest();
  		TargetMetaDef targetMetaDef = targetMetaRequest.getTargetMetaDef();
  		if (targetMetaDef.isEJB())
  			return invocation.proceed();
  
  		if (!isStateful(targetMetaDef)) {
  			// Debug.logVerbose("[JdonFramework] target service is not Stateful: "
  			// + targetMetaDef.getClassName() +
  			// " StatefulInterceptor unactiive", module);
  			return invocation.proceed();
  		}
  		Debug.logVerbose("[JdonFramework] enter StatefulInterceptor", module);
  		Object result = null;
  		try {
  			ComponentVisitor cm = targetMetaRequest.getComponentVisitor();
  			targetMetaRequest.setVisitableName(ComponentKeys.TARGETSERVICE_FACTORY);
  			Debug.logVerbose(ComponentKeys.TARGETSERVICE_FACTORY + " in action (Stateful)", module);
  			Object targetObjRef = cm.visit();
  			pmi.setThis(targetObjRef);
  			result = invocation.proceed();
  		} catch (Exception ex) {
  			Debug.logError("[JdonFramework]StatefulInterceptor error: " + ex, module);
  		}
  		return result;
  	}
docs: /*
  check the pojoService if implements StatefulPOJOService using
  ComponentVisitor, we can get targetObjRef from httpsession.
  
  @see
  org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept
  .MethodInvocation)