static List<KeyValuePair<DateTime, TimeType>> ParseTransitions (byte [] buffer, int index, int count, Dictionary<int, TimeType> time_types)
{
var list = new List<KeyValuePair<DateTime, TimeType>> (count);
for (int i = 0; i < count; i++) {
int unixtime = ReadBigEndianInt32 (buffer, index + 4 * i);
DateTime ttime = DateTimeFromUnixTime (unixtime);
byte ttype = buffer [index + 4 * count + i];
list.Add (new KeyValuePair<DateTime, TimeType> (ttime, time_types [(int)ttype]));
}
return list;
}