static ImmutableHolidayCalendar generateParis() {
List<LocalDate> holidays = new ArrayList<>(2000);
for (int year = 1950; year <= 2099; year++) {
holidays.add(date(year, 1, 1));
holidays.add(easter(year).minusDays(2));
holidays.add(easter(year).plusDays(1));
holidays.add(date(year, 5, 1));
holidays.add(date(year, 5, 8));
holidays.add(easter(year).plusDays(39));
if (year <= 2004 || year >= 2008) {
holidays.add(easter(year).plusDays(50));
}
holidays.add(date(year, 7, 14));
holidays.add(date(year, 8, 15));
holidays.add(date(year, 11, 1));
holidays.add(date(year, 11, 11));
holidays.add(date(year, 12, 25));
holidays.add(date(year, 12, 26));
}
holidays.add(date(1999, 12, 31));
applyBridging(holidays);
removeSatSun(holidays);
return ImmutableHolidayCalendar.of(HolidayCalendarIds.FRPA, holidays, SATURDAY, SUNDAY);
}