/** * return true, if this facility availability is applicable to the given time frame. at most, this * is, if the given time frame overlaps with this facility availability. if availability is {@link * #BOOKING_MUST_NOT_START_HERE}, return true, if given time frame starts on interval time frame. * Otherwise return true, * * @param timeframe to check * @return true, if this facility availability is applicable to the given time frame. */ public boolean applicableTo(TimeFrame timeframe) { if (this.mustNotStartHere()) { boolean result = false; for (TimeFrame overlapping : this.getSingleSimpleTimeFrames(timeframe)) { if (overlapping.contains(timeframe.getCalendarStart().getTime())) { result = true; break; } } return result; } else { return this.overlaps(timeframe); } }