code: private void cut(Node<K, V> x, Node<K, V> y) {
          // remove x from child list of y
          x.prev.next = x.next;
          x.next.prev = x.prev;
          y.degree--;
          if (y.degree == 0) {
              y.child = null;
          } else if (y.child == x) {
              y.child = x.next;
          }
  
          // add x to the root list
          x.parent = null;
          addToRootList(x);
  
          // clear if marked
          x.mark = false;
      }
docs: /*
  Cut the link between x and its parent y making x a root.