public IEnumerable<Xml.IQueryableNode> PrecedingSiblings(Xml.IQueryableNode node)
 {
   var result = node.PrecedingSibling();
   while (result != null)
   {
     yield return result;
     result = result.PrecedingSibling();
   }
 }