public Collection<ByteArrayWrapper> get(RowData key) throws IOException {
    final byte[] joinKeyBytes = serializeKey(key);
    ByteArrayWrapper joinKeyWrap = wrap(joinKeyBytes);
    Set<ByteArrayWrapper> result = guavaCache.getIfPresent(joinKeyWrap);
    if (result == null) {
      byte[] uniqueKeysDeserialized = rocksDB.get(columnFamilyHandle, joinKeyBytes);
      if (uniqueKeysDeserialized != null) {
        result = ByteArraySetSerializer.deserialize(uniqueKeysDeserialized);
      }

      if (CollectionUtils.isNotEmpty(result)) {
        guavaCache.put(joinKeyWrap, result);
        return result;
      }
      return Collections.emptyList();
    }
    return result;
  }
Retrieve the elements of the key.

<p>Fetch the Collection from guava cache, if not present, fetch the result from RocksDB. if
present, just return the result.

@return not null, but may be empty.
amoro-format-mixed/amoro-mixed-flink/amoro-mixed-flink-common/src/main/java/org/apache/amoro/flink/lookup/RocksDBSetSpilledState.java