Adobe has a sample:
// This is the RendezVous task. This task does not complete until an
// action is selected. All the work items created for this task will share the same data.
// Each work item entering this task can merge its data into a general
// pool of data to be distributed to the next task.
// WorkItem.startRendezvous()
// This is to be called in the Task being used as the rendezvous task.
// It indicates to Integrate Agent that the first route of a rendezvous has arrived,
// and that until either WorkItem.cancelRendezvous() is called,
// or an action is selected, new work items created for this task should
// take their data and attachments from the previous work item that was created by this task
// rather than from the previous work item in the process instance, as is usually done.
// WorkItem.cancelRendezvous()
// This can be called if, for one reason or another, the process has decided it
// wants to give up on the rendezvous, but not continue with any further tasks
// in this thread.
// WorkItem.waitingForRendezvous
// This is a property that indicates whether we're in "rendezvous" mode or not.
//
// Data merged so far is in WorkItem.data and WorkItem.attachments
// The new data to merge is in WorkItem.previousWorkItem.data and WorkItem.previousWorkItem.attachments