@Override
        public Tuple2<T, R> next() {
            if (!hasNext()) {
                throw new IllegalStateException("next() called on rocksDB with no more valid entries");
            }
            T key = null;
            R val = null;
            try {
                key = dao.deserializeKey(iterator.key());
                val = dao.deserializeValue(iterator.value());
            } catch (IOException e) {
                throw new IllegalStateException("deserialize err", e);
            }
            iterator.next();
            return new Tuple2<>(key, val);
        }
{@link Iterator} wrapper for RocksDb Iterator {@link RocksIterator}.
inlong-sort/sort-flink/sort-flink-v1.13/sort-connectors/iceberg/src/main/java/org/apache/inlong/sort/iceberg/sink/collections/RocksDBDAO.java