code: @Deprecated
    public CursorIterator<T> iterate(final Txn<T> txn, final T key,
                                     final IteratorType type) {
      if (SHOULD_CHECK) {
        requireNonNull(type);
      }
  
      final KeyRange<T> range;
      if (type == FORWARD) {
        range = key == null ? all() : atLeast(key);
      } else {
        range = key == null ? allBackward() : atLeastBackward(key);
      }
  
      return iterate(txn, range);
    }
docs: Iterate the database from the first/last item and forwards/backwards by
  first seeking to the provided key.
  
  @param txn  transaction handle (not null; not committed)
  @param key  the key to search from (may be null to denote first record)
  @param type direction of iterator (not null)
  @return iterator (never null)
  @deprecated use iterate method with a {@link KeyRange} instead