code: private void cascadingCut(Node<K, V> y) {
          Node<K, V> z;
          while ((z = y.parent) != null) {
              if (!y.mark) {
                  y.mark = true;
                  break;
              }
              cut(y, z);
              y = z;
          }
      }
docs: /*
  Cascading cut until a root or an unmarked node is found.