public override void Do(Game g)
        {
            g.DebugAlert(DebugMode.InputStates, "RemoveTopInputStates(" + PlayerID + "," + Amount + ")\n");
            g.DebugAlert(DebugMode.InputStates, "InputList Count: " + g.InputHandlers[PlayerID].GetInputList().Count.ToString() + "\n");
            foreach (InputStateBase isb in g.InputHandlers[PlayerID].GetInputList())
            {
                g.DebugAlert(DebugMode.InputStates, isb.ToString() + "\n");
            }

            prevStates = new List <InputStateBase>();
            for (Int32 i = 0; i < Amount; i++)
            {
                InputStateBase state = g.InputHandlers[PlayerID].GetInputList().Last();
                prevStates.Add(state);
                state.Leave();
                g.InputHandlers[PlayerID].RemoveInputFromList(state);
            }
            prevStates.Reverse();
        }