public boolean canGrabAt(int x, int y) {
   BaseObject[] list = reversedList();
   for (int i = 0; i < list.length; i++) {
     BaseObject obj = list[i];
     if (obj.isAt(x, y)) {
       return true;
     }
   }
   return false;
 }
 public BaseObject grabAt(int x, int y, boolean ungrabAll) {
   BaseObject[] list = reversedList();
   for (int i = 0; i < list.length; i++) {
     BaseObject obj = list[i];
     if (obj.isAt(x, y)) {
       if (ungrabAll) {
         ungrabAll();
       }
       grab(obj, x, y);
       return obj;
     }
   }
   if (ungrabAll) {
     ungrabAll();
   }
   return null;
 }