class PrivateWorldStateReader {

  public List<PrivateTransactionMetadata> getPrivateTransactionMetadataList(
      final String privacyGroupId, final Hash blockHash) {
    final Bytes32 privacyGroupIdBytes = Bytes32.wrap(Bytes.fromBase64String(privacyGroupId));
    final Optional<PrivateBlockMetadata> privateBlockMetadata =
        privateStateStorage.getPrivateBlockMetadata(blockHash, privacyGroupIdBytes);

    return privateBlockMetadata
        .map(PrivateBlockMetadata::getPrivateTransactionMetadataList)
        .orElse(Collections.emptyList());
  }

  public  PrivateWorldStateReader(
      final PrivateStateRootResolver privateStateRootResolver,
      final WorldStateArchive privateWorldStateArchive,
      final PrivateStateStorage privateStateStorage);

}