public string Next() { if (!NextAvailable ()) return null; cursor = (cursor + 1) % history.Length; return history [cursor]; }