private function Collides(ReservationListItem $item, $itemIndex)
 {
     $previousItem = $itemIndex > 0 ? $this->_items[--$itemIndex] : null;
     $nextItem = $itemIndex < count($this->_items) - 1 ? $this->_items[++$itemIndex] : null;
     $itemDateRange = new DateRange($item->StartDate(), $item->EndDate());
     if ($previousItem != null) {
         if ($itemDateRange->Overlaps(new DateRange($previousItem->StartDate(), $previousItem->EndDate()))) {
             return true;
         }
     }
     if ($nextItem != null) {
         if ($itemDateRange->Overlaps(new DateRange($nextItem->StartDate(), $nextItem->EndDate()))) {
             return true;
         }
     }
     return false;
 }