An implementation of the JaasSubject API to circumvent
the JAAS problem of Subject propagation. The implementation uses
a stackable version of
InheritableThreadLocal
class to associate the Subject object with the current thread.
Any new thread started within a thread that has a Subject object
associated with it, will inherit the parent's Subject object.
Also, nested doAs, runAs calls are supported.