public void restoreStatus(){
//        EDebug.print("I am mucking with that data structure.");
    	if (myDeck.size() == 0) return;
    	
    	Automaton p = null;
        while (myDeck.size() > 0 && (p = myDeck.pop()).hashCode() == myMaster.hashCode());
        
        
        
//        EDebug.print("Master's hash is " + myMaster.hashCode());
//        EDebug.print("Top hash is " + p.hashCode());
        
        if (myDeck.size() == 0 && p.hashCode() == myMaster.hashCode()) return;
        	
        
    	
		sensitive = true;
        myBackDeck.push((Automaton) myMaster.clone());

        if (myMaster instanceof TuringMachine)
            TuringMachine.become((TuringMachine) myMaster,(TuringMachine) p);
        else
            Automaton.become(myMaster, p); //pop off head

		sensitive = false;
		myMaster.getEnvironmentFrame().repaint();
    }