private async Task <TContext> RunTrunk(TContext context, ISection section) { await this.producer.ProduceContextFromScriptAsync(context, section.GetScript()); if (section.IsLeaf()) { return(context); } var nextSection = section.GetNextSection(); return(await this.Run(context, nextSection)); }