code: private void processExceptionDays(ProjectCalendar mpxjCalendar, net.sf.mpxj.planner.schema.Calendar plannerCalendar) throws MPXJException
     {
        Days days = plannerCalendar.getDays();
        if (days != null)
        {
           List<net.sf.mpxj.planner.schema.Day> dayList = days.getDay();
           for (net.sf.mpxj.planner.schema.Day day : dayList)
           {
              if (day.getType().equals("day-type"))
              {
                 Date exceptionDate = getDate(day.getDate());
                 ProjectCalendarException exception = mpxjCalendar.addCalendarException(exceptionDate, exceptionDate);
                 if (getInt(day.getId()) == 0)
                 {
                    for (int hoursIndex = 0; hoursIndex < m_defaultWorkingHours.size(); hoursIndex++)
                    {
                       DateRange range = m_defaultWorkingHours.get(hoursIndex);
                       exception.addRange(range);
                    }
                 }
              }
           }
        }
     }
docs: Process exception days.
  
  @param mpxjCalendar MPXJ calendar
  @param plannerCalendar Planner calendar