docs: public void parse (final int nYear, final HolidayMap aHolidayMap, final Holidays aConfig)
    {
      for (final FixedWeekdayRelativeToFixed aFixedWeekdayRelativeToFixed : aConfig.getFixedWeekdayRelativeToFixed ())
      {
        if (!isValid (aFixedWeekdayRelativeToFixed, nYear))
          continue;
  
        // parsing fixed day
        final DayOfWeek nExpectedWeekday = XMLHolidayHelper.getWeekday (aFixedWeekdayRelativeToFixed.getWeekday ());
        LocalDate aDay = XMLHolidayHelper.create (nYear, aFixedWeekdayRelativeToFixed.getDay ());
        do
        {
          // move fixed to first occurrence of weekday
          aDay = aFixedWeekdayRelativeToFixed.getWhen () == When.AFTER ? aDay.plusDays (1) : aDay.minusDays (1);
        } while (aDay.getDayOfWeek () != nExpectedWeekday);
        int nDays = 0;
        switch (aFixedWeekdayRelativeToFixed.getWhich ())
        {
          case FIRST:
            break;
          case SECOND:
            nDays = 7;
            break;
          case THIRD:
            nDays = 14;
            break;
          case FOURTH:
            nDays = 21;
            break;
          case LAST:
            // seems to be unsupported
            break;
        }
        // move day further if it is second, third or fourth weekday
        aDay = aFixedWeekdayRelativeToFixed.getWhen () == When.AFTER ? aDay.plusDays (nDays) : aDay.minusDays (nDays);
        final IHolidayType aType = XMLHolidayHelper.getType (aFixedWeekdayRelativeToFixed.getLocalizedType ());
        final String sPropertyKey = aFixedWeekdayRelativeToFixed.getDescriptionPropertiesKey ();
        aHolidayMap.add (aDay, new ResourceBundleHoliday (aType, sPropertyKey));
      }
    }