for(int i=0;i<list.size();i++){
dishesTried.put(new Integer(i), list.get(i).isInUse());
}
while(dishesTried.values().contains(new Boolean(false))){
int index = r.nextInt(list.size());
MenuItemListWrapper d = new MenuItemListWrapper(index);
if(!d.isInUse() && d.isAvailable(menuEndDate)){
d.setInUse(true);
return d;
}
dishesTried.put(new Integer(index), true);
}
return new MenuItemListWrapper(r.nextInt(list.size()));
}