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