So what's the problem? Why does only unlockAll need to change, and not unlock?
In the end, I think I'd prefer just adding a warning to the LockManager javadoc saying it's an internal API and should not be used directly...