private void tryFillGap(
      final TransactionAddedResult addStatus,
      final PendingTransaction pendingTransaction,
      final int[] remainingPromotionsPerType) {
    // it makes sense to fill gaps only if the add is not a replacement and this layer does not
    // allow gaps
    if (!addStatus.isReplacement() && !gapsAllowed()) {
      final PendingTransaction promotedTx =
          nextLayer.promoteFor(
              pendingTransaction.getSender(),
              pendingTransaction.getNonce(),
              remainingPromotionsPerType);
      if (promotedTx != null) {
        processAdded(promotedTx, AddReason.PROMOTED);
        if (!maybeFull()) {
          tryFillGap(ADDED, promotedTx, remainingPromotionsPerType);
        }
      }
    }
  }
Return the full content of this layer, organized as a list of sender pending txs. For each
sender the collection pending txs is ordered by nonce asc.

@return a list of sender pending txs
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/AbstractTransactionsLayer.java