The versions 05_01a and 05_01b would not let you change a session more than once. The problem was with the code in getLine which, when called with second parameter true, would call protect.lock() twice. Since releaseLock only released the lock once, protect was still locked.
I fixed the problem by moving the second call to protect.lock() up two lines in getLine so that the second call was inside the else. It is now at line 202 in EditorFile.
There were a number of false starts in trying to locate this bug.
Also, remove any extra calls to logDebug that you no longer need, as these make it hard to find the important debugging messages.
Steve Robbins