}
GpelAssign assign = new GpelAssign(this.bpelNS, copies);
sequence.addActivity(assign);
PartnerLinkRole partnerRoll = this.workflowWSDL
.getPartnerRoll(portTypeQName);
if (partnerRoll == null) {
String partnerLinkTypeName = id + PARTNER_LINK_TYPE_SUFFIX;
String partnerRollName = id + PARTNER_ROLE_SUFFIX;
partnerRoll = this.workflowWSDL.addPartnerLinkTypeAndRoll(
partnerLinkTypeName, partnerRollName, portTypeQName);
}
PartnerLinkType partnerLinkType = partnerRoll.getPartnerLinkType();
// partnerLink
String partnerLinkName = createPartnerLinkName(id);
XmlNamespace partnerLinkTypeNS = this.targetNamespace;
this.process.addPartnerLink(partnerLinkName, partnerLinkTypeNS,
partnerLinkType.getName(), null, partnerRoll.getName());
// Invoke
GpelInvoke invoke = new GpelInvoke(this.bpelNS, partnerLinkName, namespace,
portTypeQName.getLocalPart(), operation);
invoke.setName(INVOKE_NAME_PREFIX + id);