private void applyTransactions(Address sender, Collection<TransactionInfo> transactions) { log.debugf( "Applying %d transactions for cache %s transferred from node %s", transactions.size(), cacheName, sender); if (isTransactional) { for (TransactionInfo transactionInfo : transactions) { CacheTransaction tx = transactionTable.getLocalTransaction(transactionInfo.getGlobalTransaction()); if (tx == null) { tx = transactionTable.getRemoteTransaction(transactionInfo.getGlobalTransaction()); if (tx == null) { tx = transactionTable.getOrCreateRemoteTransaction( transactionInfo.getGlobalTransaction(), transactionInfo.getModifications()); ((RemoteTransaction) tx).setMissingLookedUpEntries(true); } } for (Object key : transactionInfo.getLockedKeys()) { tx.addBackupLockForKey(key); } } } }