internal int GetDynamicHashCode()
 {
     return(HashCode.Combine(Index,
                             MayContinue,
                             Consumed,
                             subData.Values.Aggregate(0, (h, d) => HashCode.Combine(h, d.GetHashCode())),
                             Matches.Aggregate(0, (h, s) => HashCode.Combine(h, s.GetHashCode()))
                             ));
 }