public void Add(string key, XPathNavigator navigator) {
XmlQueryNodeSequence seq = (XmlQueryNodeSequence) this.table[key];
if (seq == null) {
// Create a new sequence and add it to the index
seq = new XmlQueryNodeSequence();
seq.AddClone(navigator);
this.table.Add(key, seq);
}
else {
// Add node to existing sequence; don't add if it already there
for (int i = 0; i < seq.Count; i++) {
if (navigator.IsSamePosition(seq[i]))
return;
}
seq.AddClone(navigator);
}
}