internal static StringFileInfo ReadStringFileInfo(this PeReader reader)
        {
            var orgPos = reader.GetPosition();

            var info = new StringFileInfo();

            if (!reader.ReadFileInfo(info, "StringFileInfo"))
            {
                return(null);
            }

            // Read all children (StringTables)
            var children = new List <StringTable>();

            while (reader.GetPosition() < orgPos + info.Length)
            {
                children.Add(reader.ReadStringTable());
            }

            info.Children = children.ToImmutableList();

            return(info);
        }