public SqlHierarchyId GetReparentedValue(SqlHierarchyId oldRoot, SqlHierarchyId newRoot) { if (!IsNull && !oldRoot.IsNull && !newRoot.IsNull) { if (!IsDescendantOf(oldRoot)) { throw new HierarchyIdException("Instance is not a descendant of 'oldRoot'"); } return(new SqlHierarchyId(_imp.GetReparentedValue(oldRoot._imp, newRoot._imp))); } return(Null); }