int AddString(string text)
{
int index;
if (!stringsLookup.TryGetValue(text, out index)) {
index = (int)strings.Position;
stringsLookup[text] = index;
byte[] stringData = Encoding.UTF8.GetBytes(text);
strings.Write(stringData, 0, stringData.Length);
strings.WriteByte(0);
}
return index;
}