public List<Pickup> getPickupsOnDate(String date) {
   List<Pickup> pickups = new LinkedList<WastePickupSchedule.Pickup>();
   for (Pickup pickup : getPickups()) {
     if (pickup.getDates().contains(date)) pickups.add(pickup);
   }
   return pickups;
 }
 public Date getNextPickupDateByWasteTypeLabel(String wasteTypeLabel) {
   Pickup pickup = getPickupByWasteTypeLabel(wasteTypeLabel);
   if (pickup == null) return null;
   List<String> dates = pickup.getDates();
   if (dates.isEmpty()) return null;
   for (int i = 0; i <= 32; i++) {
     Date date = Date.inDays(i);
     String dateAsString = date.toString();
     if (dates.contains(dateAsString)) return date;
   }
   return null;
 }
 public void removePickupDatesBefore(Date minDate) {
   boolean pickupRemoved = false;
   List<Pickup> pickups = getPickups();
   for (Pickup pickup : new ArrayList<Pickup>(pickups)) {
     pickup.removePickupDatesBefore(minDate);
     if (pickup.getDates().isEmpty()) {
       pickups.remove(pickup);
       pickupRemoved = true;
     }
   }
   if (pickupRemoved) putArray("pickups", pickups);
 }