private boolean startLongRunningOperation(String operationDisplayName) { boolean wasEnded; lock.lock(); try { if (operations.isInCacheAction()) { checkThreadIsOwner(); wasEnded = onEndWork(); owner = null; condition.signalAll(); } else { wasEnded = false; } operations.pushLongRunningOperation(operationDisplayName); } finally { lock.unlock(); } return wasEnded; }