void ReadFrom(BinaryReader reader) { long tableStartAt = reader.BaseStream.Position; // ushort posClassRuleCnt = reader.ReadUInt16(); ushort[] posClassRuleOffsets = Utils.ReadUInt16Array(reader, posClassRuleCnt); PosClassRules = new PosClassRule[posClassRuleCnt]; for (int i = 0; i < posClassRuleOffsets.Length; ++i) { //move to and read PosClassRules[i] = PosClassRule.CreateFrom(reader, tableStartAt + posClassRuleOffsets[i]); } }