private int FindRunStart(int index, sbyte[] validSet) { loop: while (--index >= 0) { sbyte t = resultTypes[index]; for (int i = 0; i < validSet.Length; ++i) { if (t == validSet[i]) { goto loop; } } return index + 1; } return 0; }