public async Task ReadImportTableEntry(ByteArrayReader reader, DomainHeader header)
        {
            await Task.Run(() => PackageNameIndex.ReadNameTableIndex(reader, header));

            await Task.Run(() => TypeNameIndex.ReadNameTableIndex(reader, header));

            OwnerReference = reader.ReadInt32();

            await Task.Run(() => NameTableIndex.ReadNameTableIndex(reader, header));
        }
        public async Task ReadProperty(ByteArrayReader reader, DomainHeader header)
        {
            await Task.Run(() => NameIndex.ReadNameTableIndex(reader, header));

            if (NameIndex.Name == ObjectTypes.None.ToString())
            {
                return;
            }

            await Task.Run(() => TypeNameIndex.ReadNameTableIndex(reader, header));

            Size       = reader.ReadInt32();
            ArrayIndex = reader.ReadInt32();

            Value = propertyValueFactory();

            await Value.ReadPropertyValue(reader, Size, header);
        }