public void GoBack(IRemoteControl window) { if (window == null) { throw new ArgumentException("Window argument cannot be null"); } if (window.Equals(CurrentWindow) && WindowStack.Count > 0) { window = PopAvailableWindow(); this.CurrentWindow = null; ShowWindow(window); } }