private Optional<EthPeer> getPeerToUse() {
    // return the assigned peer if still valid, otherwise switch to another peer
    return peer.filter(p -> !p.isDisconnected()).isPresent()
        ? peer
        : ethPeers
            .streamAvailablePeers()
            .filter(peer -> peer.chainState().getEstimatedHeight() >= minimumBlockNumber)
            .filter(request::isEthPeerSuitable)
            .min(EthPeers.LEAST_TO_MOST_BUSY);
  }
Attempts to find an available peer and execute the peer request.

@return true if the request should be removed from the pending list, otherwise false.
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/manager/PendingPeerRequest.java