Insure that ContextManager.currentCaller is reset. Otherwise, ThreadLocal will be set when the Thread is reused. This can lead to incorrect Subjects being used