private void ReadMenu(){
		Do("Reading menu");
		choiceIndex = (int)(Math.random()*4);
		//Non-normative scenarios
		//If out of cheapest item and cheap customer, then customer leaves
		if(reordering){
			reordering = false; 
			if(name.equals("Cheapskate")){
				print("Cheapskate alert. Can't afford food. Leaving"); 
				waiter.msgLeavingTable(this);
				customerGui.DoExitRestaurant();
				return; 
			}
			else{
				if(choiceIndex == (menu.MenuOptions.size()-1)){
					choiceIndex = 0; 
				}
				else{
					choiceIndex++; 
				}
			}
		}
		
		me = this;  
		//choice = this.getName();
		choice = menu.get(choiceIndex); 
		if(name.equals("Cheapskate")){
			print("Cheapskate alert. Ordering the cheapest item"); 
			choice = menu.getCheapestFood(); 
		}
		timer.schedule(new TimerTask() {
			public void run() {
				if(cash == 0.0){
					if(name.equals("Smartpoor")){
						print("No money. Leaving Restaurant");
						waiter.msgLeavingTable(me);
						customerGui.DoExitRestaurant();
						return; 
					}
				}
				customerGui.showChoice(choice);
				waiter.msgReadyToOrder(me); 
			}
		},
		hungerLevel * 250); 
	}