public GraphNode GetNamedField(string name) { // search at the current level return(SubNodes.Where(p => p.Name == name).SingleOrDefault()); // todo: search parent levels }