if (exceptionCount != 0)
{
int index;
int offset;
ProjectCalendarException exception;
long duration;
int periodCount;
Date start;
for (index = 0; index < exceptionCount; index++)
{
offset = 4 + (60 * 7) + (index * 64);
Date fromDate = MPPUtility.getDate(data, offset);
Date toDate = MPPUtility.getDate(data, offset + 2);
exception = cal.addCalendarException(fromDate, toDate);
periodCount = MPPUtility.getShort(data, offset + 6);
if (periodCount != 0)
{
for (int exceptionPeriodIndex = 0; exceptionPeriodIndex < periodCount; exceptionPeriodIndex++)
{
start = MPPUtility.getTime(data, offset + 12 + (exceptionPeriodIndex * 2));
duration = MPPUtility.getDuration(data, offset + 24 + (exceptionPeriodIndex * 4));
exception.addRange(new DateRange(start, new Date(start.getTime() + duration)));
}
}
}
}
}