public BlockCreationResult createBlock(final BlockHeader parentHeader, final long timestamp) {
    final BlockCreator blockCreator = this.blockCreatorFactory.apply(parentHeader);
    return blockCreator.createBlock(Optional.empty(), Optional.empty(), timestamp, parentHeader);
  }
Create a block with the given timestamp.

@param parentHeader The header of the parent of the block to be produced
@param timestamp unix timestamp of the new block.
@return the newly created block.
ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/BlockMiner.java