@Override
  public Optional<byte[]> get(final SegmentIdentifier segment, final byte[] key)
      throws StorageException {
    throwIfClosed();
    try (final OperationTimer.TimingContext ignored = metrics.getReadLatency().startTimer()) {
      final ColumnFamilyHandle handle = columnFamilyMapper.apply(segment);
      if (isReadCacheEnabledForSnapshots && segment.isEligibleToHighSpecFlag()) {
        return getFromCacheOrRead(segment.getId(), key, handle, maybeCache.get());
      } else {
        return Optional.ofNullable(snapshot.get(handle, readOptions, key));
      }
    } catch (final RocksDBException e) {
      throw new StorageException(e);
    }
  }
Instantiates a new RocksDb columnar key value snapshot.

@param db the db
@param metrics the metrics
plugins/rocksdb/src/main/java/org/hyperledger/besu/plugin/services/storage/rocksdb/segmented/RocksDBColumnarKeyValueSnapshot.java