public void ReadRequestedStrings(IReader reader, Pointer baseLocation, CachedStringTable output) { uint baseOffset = baseLocation.AsOffset(); int lastEnd = -1; foreach (int offset in _requestedStrings) { if (offset <= lastEnd) continue; reader.SeekTo(baseOffset + offset); string str = reader.ReadAscii(); output.CacheString(offset, str); lastEnd = offset + str.Length; } }