private static BlockContext blockContext(
      final Supplier<BlockHeader> blockHeaderSupplier,
      final Supplier<BlockBody> blockBodySupplier) {
    return new BlockContext() {
      @Override
      public BlockHeader getBlockHeader() {
        return blockHeaderSupplier.get();
      }

      @Override
      public BlockBody getBlockBody() {
        return blockBodySupplier.get();
      }
    };
  }
Gets block header by hash

@param hash the block hash
@return the block header if block exists otherwise empty
app/src/main/java/org/hyperledger/besu/services/BlockchainServiceImpl.java