public boolean overlaps(List<YearlyPeriod> periods) {
		Iterator<YearlyPeriod> epi;

		if (this.isCrossYear()) {
			epi = periods.iterator();
			while (epi.hasNext()) {
				YearlyPeriod listPeriod = epi.next();
				if (listPeriod.isCrossYear()) {
					return true;
				} else if (listPeriod.containsDay(this.startDay) || listPeriod.containsDay(this.endDay)) {
					return true;
				}
			}
		} else {
			epi = periods.iterator();
			while (epi.hasNext()) {
				YearlyPeriod listPeriod = epi.next();
				if (listPeriod.containsDay(this.startDay) || listPeriod.containsDay(this.endDay))
					return true;
			}
		}
		return false;
	}