public static Subject unbindSubject() {
        return (Subject) remove(SUBJECT_KEY);
    }
Convenience method that simplifies removal of a thread-local Subject from the thread.
<p/>
The implementation just helps reduce casting and remembering of the ThreadContext key name, i.e it is
merely a convenient wrapper for the following:
<p/>
<code>return (Subject)remove( SUBJECT_KEY );</code>
<p/>
If you wish to just retrieve the object from the thread without removing it (so it can be retrieved later during
thread execution), you should use the {@link #getSubject() getSubject()} method for that purpose.

@return the Subject object previously bound to the thread, or <tt>null</tt> if there was none bound.
@since 0.2
core/src/main/java/org/apache/shiro/util/ThreadContext.java