public TopLevelHeaderObjectData(ReadOnlyMemory <byte> rawData) { RawData = rawData; var count = BinaryPrimitives.ReadInt32LittleEndian(RawData.Span); var mem = RawData.Slice(6); var objects = new ASFObject[count]; for (int i = 0; i < count; i++) { var(obj, nxt) = ASFObject.ReadFromMemory(mem); objects[i] = obj; mem = nxt; } Objects = objects; }