protected virtual DFAState GetExistingTargetState(DFAState previousD, int t) { DFAState[] edges = previousD.edges; if (edges == null || t + 1 < 0 || t + 1 >= edges.Length) { return null; } return edges[t + 1]; }