invocationData.invokeScope.addActivity(invoke);
invocationData.activity = invocationData.invokeScope.getActivity();
invocationData.invoke = invoke;
} else if (execNodeData.bottomUpProcess != null && execNodeData.operation != null){
// this is an invocation of a web service provided by a process...
Receive recv = BPELFactory.eINSTANCE.createReceive();
recv.setPortType(execNodeData.portType);
recv.setOperation(execNodeData.operation);
invocationData.receiveScope = new BpelScopeImpl();
invocationData.receiveScope.addActivity(recv);
setRecvParameters(execNodeData.operation, recv,invocation.getArguments(),invocationData.receiveScope);
invocationData.activity = invocationData.receiveScope.getActivity();
invocationData.receive = recv;
} else {
if (invocation.getExecutable() != null &&
invocation.getExecutable().getDeclaration() != null &&
invocation.getExecutable().getDeclaration() instanceof CtMethod ){
CtMethod m = (CtMethod)invocation.getExecutable().getDeclaration();
ReplyActivity replyAnn = m.getAnnotation(ReplyActivity.class);
if (replyAnn != null && invocation.getArguments().size() == 1){
scan(invocation.getArguments().get(0));
ASTNodeData arg = nodeDataStack.peek();
if (arg.xsdType != null && arg.xpathExpr != null && arg.variable != null){
for (Receive recv : methodReceiveMap.values()){
if (recv.getName().equals(replyAnn.receiveName())){
Reply reply = BPELFactory.eINSTANCE.createReply();
String replyName = m.getSimpleName();
if (!replyAnn.name().equals(""))
replyName = replyAnn.name();
reply.setName(replyName);