yeah it should only be accessed while in synchronized(handshakeLock) { ... } scope.