Hi Stuart,
Thank you for your response. We have a filter class at the top level currently which authenticates and tracks requests and may decide to delay a request using AsyncContext's timeout. When implemented at the top level before being delegated to a servlet, the asynccontext.dispatch will cause the request (after the delay) to come back through the same filter class. If it is done after being delegated, the dispatch will directly access the resource requested. The class will mostly work in the same way if added as an outer handler to the servlet context, except that dispatch will directly go to the  underlying resource.
Thanks,
Jack