ExecutionResult ReviseItinerary(RoutingSlipBuilder builder, IDictionary <string, object> results, Action <ItineraryBuilder> buildItinerary) { builder.SetSourceItinerary(_routingSlip.Itinerary.Skip(1)); buildItinerary(builder); RoutingSlip routingSlip = builder.Build(); if (routingSlip.RanToCompletion()) { return(new RanToCompletionResult(_context.Bus, routingSlip, _activity.Name, _activityTrackingNumber, results, _activity.Arguments)); } return(new NextActivityResult(_context, routingSlip, _activity.Name, _activityTrackingNumber, results, _activity.Arguments)); }