public Change GetNext(MoveAction action) { #if DEBUG if (lastIndex == (changes.Length - 1)) throw new InvalidOperationException(); #endif lastIndex++; this.changes[lastIndex].Action = action; return this.changes[lastIndex]; }