public Interval locateInterval(Object value) {
   Date d = (Date) value;
   for (Interval interval : this) {
     IntervalDateRange dateRange = (IntervalDateRange) interval;
     if (d.equals(dateRange.getMinDate())
         || (d.after(dateRange.getMinDate()) && d.before(dateRange.getMaxDate()))) {
       return interval;
     }
   }
   return null;
 }