At multiple times in UnlockHelper, the logger is called on info without testing if the info log level is enabled.
Sometimes, the error level is tested, but it shouldn't.
Also the construction of the log messages is mixed : concatenation, replacement.