private LLNode exchangeUp(LLNode t) {
        LLNode left = t.prev.left;
        LLNode right = t.prev.right;
        LLNode prev = t.prev.prev;
        LLNode cleft=t.left;
        LLNode cright=t.right;
        int vcheck=t.prev.val;
        LLNode cprev = t;
        if(!isEqual(t,left)){
          
          t.left=left;
          if(t.left!=null){
          t.left.prev=t;
          }
        }else{
            t.left=t.prev;
        }
         if(!isEqual(t,right)){
          t.right=right;
          if(t.right!=null){
          t.right.prev=t;
          }
        }else{
          t.right=t.prev;
         }
        t.prev.left=cleft;
        t.prev.right=cright;
        t.prev.prev=t;
        t.prev = prev;
        if(t.prev!=null){
        if(t.prev.left.val==vcheck){
            t.prev.left=t;
        }else{
            t.prev.right=t;
        }
        }
        return t;
    }