public boolean pickAndExecuteAnAction() {
		try{
/*			//new food arrived
			if (mFoodArrived){
				synchronized(mOrders){
					for (SmilehamWaiter iWaiter : mWaiters){
						iWaiter.msgNewMenu(mFoodsOut);
					}
				}
				mFoodArrived = false;
				return true;
			}
*/			
			//Cook orders
			for (Order iOrder : mOrders){
				synchronized(iOrder){
					if (iOrder.mOrderStatus == EnumOrderStatus.READY){
						iOrder.mWaiter.msgOrderIsReady(iOrder, mFoodsOut);
						return true;
					}
				}
			}
			for (Order iOrder : mOrders){
				synchronized(iOrder){
					if (iOrder.mOrderStatus == EnumOrderStatus.PENDING){
						/*
						//if food is out
						EnumFoodOptions foodChoice = iOrder.mFood.mChoice;
						int stock = mInventory.get(foodChoice).mQuantity;
						if (stock == 0){
							mOrders.remove(iOrder); //can only do this because returning true
							mFoodsOut.add(foodChoice);
							iOrder.mWaiter.msgOutOfFood(iOrder, mFoodsOut);
							return true;
						}
						*/
						EnumItemType foodChoice = Item.enumToEnum(iOrder.mFood.mChoice);
						int stock = mRole.mItemInventory.get(foodChoice);
						if(stock == 0) {
							mOrders.remove(iOrder);
							mRole.mItemsDesired.put(foodChoice,sBaseNeed);
							mFoodsOut.add(iOrder.mFood.mChoice);
							iOrder.mWaiter.msgOutOfFood(iOrder, mFoodsOut);
							return true;
						}
						cookFood(iOrder.mFood);
						return true;
					}
				}
			}
	/*		
			//Remove Markets without food
			List<SmilehamMarket> marketsToRemove = new ArrayList<SmilehamMarket>();
			for (SmilehamMarket iMarket : mMarkets){
				if (iMarket.isOut()) marketsToRemove.add(iMarket);
			}
			for (SmilehamMarket iMarket : marketsToRemove){
				mMarkets.remove(iMarket);
			}
			
			//Order Food
			if (mMarkets.size() == 0) return false;
			for (EnumFoodOptions iFood : EnumFoodOptions.values()){
				Food stock = mInventory.get(iFood);
				//if not enough food
				if (stock.mQuantity < Food.cTHRESHOLD){
					orderFood(iFood);
				}
			}
	*/
			return false;
			
		}catch(ConcurrentModificationException e){
			return true;
		}
	}