/// <summary> /// Reorders the handler invokers if necessary /// </summary> public async Task Process(IncomingStepContext context, Func <Task> next) { var handlerInvokers = context.Load <HandlerInvokers>(); var orderedHandlerInvokers = handlerInvokers.OrderBy(i => _configuration.GetIndex(i.Handler)); var newHandlerInvokers = new HandlerInvokers(handlerInvokers.Message, orderedHandlerInvokers); context.Save(newHandlerInvokers); await next(); }