public static final void next(boolean goUp, long[] x, long[] n) {
        if(goUp == false) {
            if(!isLeaf(x)) {leftChild(x,n);} else next(true,x,n);
        } else {
            if(isRoot(x)) done(n);
            else {
                long[] p = {0,0,0,0};
                parent(x,p);
                if(isLeft(x)) {rightChild(p,n);} else next(true,p,n);
            }
        }
    }