if (!stack.isEmpty()) {
// We are in the middle of a transaction, and we're about to cross a process boundary
TransactionData data = stack.get(0);
if (data.distributedTransactionID == null) {
// This is the first time the transaction has cross a process boundary, allocate an id
UUIDGen gen = new UUIDGen();
gen.generate();
data.distributedTransactionID = gen.asCharPtr();
}
// Add this key to the list of invokers if not already there
data.currentInvoker = remoteMechanism;
if (data.distributedInvokers != null) {
boolean found = false;