class ThreadLocalAuthorizationContext implements AuthorizationContext {

    @Nonnull
    @Override
    public Authorization getAuthorization()
    {
        Authorization authorization = THREAD_LOCAL.get();
        if ( authorization == null )
        {
            authorization = new Authorization( null );
            THREAD_LOCAL.set( authorization );
        }
        return authorization;
    }

}