private boolean isComplete() {
    return headers.stream().allMatch(header -> receipts.get(header) != null);
  }
Given a set of headers, repeatedly requests the receipts for those blocks.
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/sync/tasks/GetReceiptsForHeadersTask.java