public InvocationWalker(EndInvokeContext context) =>
 this.context = context;
 protected override void VisitInvocation(EndInvokeContext context) =>
 new InvocationWalker(context).SafeVisit(context.Root);
 protected abstract void VisitInvocation(EndInvokeContext context);