Метод
updateBlockServer имеет основное ветвление в алгоритме:
- разблокирование журнала //unlock
- блокирование журнала //lock
Прокомментирую разблокирование журнала, к которому относится тот кусок кода с "ошибкой":
- Проверяется жива ли сессия, которая вызывала метод. Если сессия жива, то переходим к п. 2
- Если журнал блокирован системой -- ничего не делаем, переходим к п. 3
- В конце-концов, журнал не блокирован системой и сессия жива, то обновляются итоги
Проверить п. 1 мне не удалось, т. к. деббагер отваливается если убить сессию его вызвавшую. Но я думаю, эта ветка алгоритма обусловлена клиент-серверным взаимодействием.