public bool MatchNode(MapNode n) { if (Icons.Count != 0) { if (MatchAllIcons) { if (!Icons.All(icon => n.Icons.Contains(icon))) { return(false); } } else { if (!Icons.Any(icon => n.Icons.Contains(icon))) { return(false); } } } return (n.Text.IndexOf(Text, StringComparison) >= 0 || (n.HasNoteText && !ExcludeNote && n.NoteText.IndexOf(Text, StringComparison) >= 0) ); }