private int FindNextNotEscaped(int offset, string findIn, string toFind)
{
bool done = false;
while (!done) {
int index = findIn.IndexOf (toFind, offset);
if (index == -1 || index == 0)
return index;
if (findIn[index - 1] != '\\')
return index;
else
offset = index + 1;
}
return -1;
}