code: private void writeCalendarException(ProjectCalendar parentCalendar, ProjectCalendarException record) throws IOException
     {
        m_buffer.setLength(0);
  
        if (!parentCalendar.isDerived())
        {
           m_buffer.append(MPXConstants.BASE_CALENDAR_EXCEPTION_RECORD_NUMBER);
        }
        else
        {
           m_buffer.append(MPXConstants.RESOURCE_CALENDAR_EXCEPTION_RECORD_NUMBER);
        }
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatDate(record.getFromDate())));
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatDate(record.getToDate())));
        m_buffer.append(m_delimiter);
        m_buffer.append(record.getWorking() ? "1" : "0");
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatTime(record.getRange(0).getStart())));
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatTime(record.getRange(0).getEnd())));
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatTime(record.getRange(1).getStart())));
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatTime(record.getRange(1).getEnd())));
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatTime(record.getRange(2).getStart())));
        m_buffer.append(m_delimiter);
        m_buffer.append(format(formatTime(record.getRange(2).getEnd())));
        stripTrailingDelimiters(m_buffer);
        m_buffer.append(MPXConstants.EOL);
  
        m_writer.write(m_buffer.toString());
     }
docs: Write a calendar exception.
  
  @param parentCalendar parent calendar instance
  @param record calendar exception instance
  @throws IOException