private IEnumerable <ActionBase> ParseObjectPaths() { var elements = _request.Root .Element(XName.Get("Actions", _elementNamespace)) .Elements(); var actionElements = elements .Where(element => element.Name.LocalName == "ObjectPath"); var objectPathElements = _request.Root .Element(XName.Get("ObjectPaths", _elementNamespace)) .Elements(); foreach (var objectPath in objectPathElements) { var id = objectPath .Attribute(XName.Get("Id")) .Value; var action = actionElements .Where(a => a.Attribute(XName.Get("ObjectPathId")).Value == id) .SingleOrDefault(); yield return(ObjectPath.FromXml(objectPath, action)); } }