return result;
}
+Path common_ancestor(const Path &path1, const Path &path2)
+{
+ Path::Iterator i = path1.begin();
+ Path::Iterator j = path2.begin();
+ Path result;
+ for(; (i!=path1.end() && j!=path2.end() && *i==*j); ++i, ++j)
+ result /= *i;
+ return result;
+}
+
int descendant_depth(const Path &path, const Path &parent)
{
Path::Iterator i = path.begin();