public static GetBlockFromPeerTask create(
      final ProtocolSchedule protocolSchedule,
      final EthContext ethContext,
      final SynchronizerConfiguration synchronizerConfiguration,
      final Optional<Hash> hash,
      final long blockNumber,
      final MetricsSystem metricsSystem) {
    return new GetBlockFromPeerTask(
        protocolSchedule, ethContext, synchronizerConfiguration, hash, blockNumber, metricsSystem);
  }
Downloads a block from a peer. Will complete exceptionally if block cannot be downloaded.
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/task/GetBlockFromPeerTask.java