docs: protected void _finishWithRetries(Connection conn, IQueueMessage<ID, DATA> msg, int numRetries,
              int maxRetries) {
          try {
              if (!isEphemeralDisabled()) {
                  removeFromEphemeralStorage(conn, msg);
              }
          } catch (DaoException de) {
              if (de.getCause() instanceof ConcurrencyFailureException) {
                  if (numRetries > maxRetries) {
                      throw new QueueException(de);
                  } else {
                      incRetryCounter("_finishWithRetries");
                      _finishWithRetries(conn, msg, numRetries + 1, maxRetries);
                  }
              }
              throw de;
          } catch (Exception e) {
              throw e instanceof QueueException ? (QueueException) e : new QueueException(e);
          }
      }