code: private void cascadingRankChange(Node<K, V> y) {
          while (y.mark == true) {
              y.mark = false;
              if (y.rank > 0) {
                  --y.rank;
              }
              y = y.parent;
          }
          y.mark = true;
          if (y.rank > 0) {
              --y.rank;
          }
      }
docs: /*
  Cascading rank change. Assumes that the root is unmarked.