public void addResponse(
      final WorldStateProofProvider worldStateProofProvider,
      final NavigableMap<Bytes32, Bytes> accounts,
      final ArrayDeque<Bytes> proofs) {
    if (!accounts.isEmpty() || !proofs.isEmpty()) {
      if (!worldStateProofProvider.isValidRangeProof(
          startKeyHash, endKeyHash, getRootHash(), proofs, accounts)) {
        // this happens on repivot and on bad proofs
        LOG.atTrace()
            .setMessage("invalid range proof received for account range {} {}")
            .addArgument(accounts.firstKey())
            .addArgument(accounts.lastKey())
            .log();
        isProofValid = Optional.of(false);
      } else {
        stackTrie.addElement(startKeyHash, proofs, accounts);
        isProofValid = Optional.of(true);
        LOG.atDebug()
            .setMessage("{} accounts received during sync for account range {} {}")
            .addArgument(accounts.size())
            .addArgument(startKeyHash)
            .addArgument(endKeyHash)
            .log();
      }
    }
  }
Returns a list of accounts and the merkle proofs of an entire range
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/snapsync/request/AccountRangeDataRequest.java