private NextAction flush(final FilterChainContext ctx) {
final HttpContext httpContext = HttpContext.get(ctx);
assert httpContext != null;
final OutputSink output = httpContext.getOutputSink();
if (output.canWrite()) { // if connection write queue is not overloaded
return ctx.getStopAction();
} else { // if connection write queue is overloaded
// prepare context for suspend
final NextAction suspendAction = ctx.getSuspendAction();