private CompletableFuture<Block> repeatableGetBlockFromPeer(
      final Optional<EthPeer> preferredPeer,
      final long blockNumber,
      final Optional<Hash> maybeBlockHash) {
    return exceptionallyCompose(
            scheduleGetBlockFromPeers(preferredPeer, blockNumber, maybeBlockHash),
            handleGetBlockErrors(blockNumber, maybeBlockHash))
        .thenCompose(r -> maybeRepeatGetBlock(blockNumber, maybeBlockHash));
  }
Process pending Children if any

@param block the block to process the children
@return true if block has any pending child
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/BlockPropagationManager.java