public override void OnVisitMatch(ParseNode node) { var cleanStates = new CleanupAstNodeStates(node.Parent.Children); var advance = cleanStates.MappedNodes.IndexOf(node); cleanStates.ShiftWhile(advance); }