code: @SuppressWarnings("unchecked")
      private void updateSuffixMin(RootListNode<K, V> t) {
          if (comparator == null) {
              while (t != null) {
                  if (t.next == null) {
                      t.suffixMin = t;
                  } else {
                      RootListNode<K, V> nextSuffixMin = t.next.suffixMin;
                      if (((Comparable<? super K>) t.root.cKey).compareTo(nextSuffixMin.root.cKey) <= 0) {
                          t.suffixMin = t;
                      } else {
                          t.suffixMin = nextSuffixMin;
                      }
                  }
                  t = t.prev;
              }
          } else {
              while (t != null) {
                  if (t.next == null) {
                      t.suffixMin = t;
                  } else {
                      RootListNode<K, V> nextSuffixMin = t.next.suffixMin;
                      if (comparator.compare(t.root.cKey, nextSuffixMin.root.cKey) <= 0) {
                          t.suffixMin = t;
                      } else {
                          t.suffixMin = nextSuffixMin;
                      }
                  }
                  t = t.prev;
              }
          }
      }
docs: Update all suffix minimum pointers for a node and all its predecessors in
  the root list.
  
  @param t
  the node