private static Dictionary<FCS.Lite.Base.IAbstractTextNode, List<string>> GetNodesForContexts(FCS.Lite.Base.DocumentText docText, string[] contexts) { Dictionary<FCS.Lite.Base.IAbstractTextNode, List<string>> nodes = new Dictionary<FCS.Lite.Base.IAbstractTextNode, List<string>>(); List<FCS.Lite.Base.IAbstractTextType>.Enumerator enumer = docText.TextTypeEnumerator(); while (enumer.MoveNext()) { FCS.Lite.Base.IAbstractTextType textType = enumer.Current as FCS.Lite.Base.TextType; if (textType == null) continue; for (int i = 0; i < contexts.Length; ++i) { if (enumer.Current.ToString().IndexOf(contexts[i]) != -1) { // Found a textType that I want to check for content. // Need to add all it's children.. for (int j = 0; j < enumer.Current.GetChildCount(); ++j) { FCS.Lite.Base.IAbstractTextNode child = textType.GetChild(j); if (!nodes.ContainsKey(child)) { List<string> types = new List<string>(); types.Add(contexts[i]); nodes.Add(child, types); } else { nodes[child].Add(contexts[i]); } } } } } return nodes; }