public override bool MoveTo(XPathNavigator other)
        {
            XPathSemWebNavigator clone = other as XPathSemWebNavigator;

            if (clone == null)
            {
                return(false);
            }
            this.model   = clone.model;
            this.nsmgr   = clone.nsmgr;
            this.nswrap  = clone.nswrap;
            this.stack   = (ArrayList)clone.stack.Clone();
            this.current = clone.current;
            return(true);
        }
		private XPathSemWebNavigator(Entity root, Store model, NamespaceManager namespaces, string exapandThisPredicate) {
			this.model = model;
			
			if (!(namespaces is SemWeb.IO.AutoPrefixNamespaceManager))
				namespaces = new SemWeb.IO.AutoPrefixNamespaceManager(namespaces);
			this.nsmgr = namespaces;
			nswrap = new NSWrap(nsmgr);
			
			Position start = new Position();
			start.FirstChild = true;
			start.LastChild = true;
			start.Predicate = root; // a trick to make sure the URI info for the root reflects the root
			start.Object = root;
			if (exapandThisPredicate != null)
				Expand(start, exapandThisPredicate);
			current = start;
		}
        private XPathSemWebNavigator(Entity root, Store model, NamespaceManager namespaces, string exapandThisPredicate)
        {
            this.model = model;

            if (!(namespaces is SemWeb.IO.AutoPrefixNamespaceManager))
            {
                namespaces = new SemWeb.IO.AutoPrefixNamespaceManager(namespaces);
            }
            this.nsmgr = namespaces;
            nswrap     = new NSWrap(nsmgr);

            Position start = new Position();

            start.FirstChild = true;
            start.LastChild  = true;
            start.Predicate  = root;            // a trick to make sure the URI info for the root reflects the root
            start.Object     = root;
            if (exapandThisPredicate != null)
            {
                Expand(start, exapandThisPredicate);
            }
            current = start;
        }
		public override bool MoveTo (XPathNavigator other) {
			XPathSemWebNavigator clone = other as XPathSemWebNavigator;
			if (clone == null) return false;
			this.model = clone.model;
			this.nsmgr = clone.nsmgr;
			this.nswrap = clone.nswrap;
			this.stack = (ArrayList)clone.stack.Clone();
			this.current = clone.current;
			return true;
		}