// for remote transactions, release locks for which we are no longer an owner
// only for remote transactions, since we acquire locks on the origin node regardless if it's the owner or not
int numOwners = configuration.isEagerLockingSingleNodeInUse() ? 1 : configuration.getNumOwners();
for (RemoteTransaction remoteTx : remoteTransactions.values()) {
GlobalTransaction gtx = remoteTx.getGlobalTransaction();
List<Object> keys = new ArrayList<Object>();
boolean txHasLocalKeys = false;
for (Object key : remoteTx.getLockedKeys()) {
boolean wasLocal = chOld.isKeyLocalToAddress(self, key, numOwners);
boolean isLocal = chNew.isKeyLocalToAddress(self, key, numOwners);