public U GetObservedNode(Dictionary <string, U> observedNodes, string name) { if (name.Contains(UriUtilities.URI_SEPARATOR)) { var firstPart = UriUtilities.GetFirstPart(name); var allButFirst = UriUtilities.AllButFirstPart(name); return(observedNodes[firstPart].GetSubnode(allButFirst)); } return(observedNodes[name]); }