_processErrors(transaction, collectedErrors, expectedErrors, errorType) {
    const iterableProperty = this._getIterableProperty(transaction, errorType)
    if (iterableProperty === null && errorType === 'transaction') {
      if (this.collect(transaction)) {
        collectedErrors++
        if (urltils.isExpectedError(this.config, transaction.statusCode)) {
          expectedErrors++
        }
      }
      return [collectedErrors, expectedErrors]
    }

    if (iterableProperty === null) {
      return [collectedErrors, expectedErrors]
    }

    for (let i = 0; i < iterableProperty.length; i++) {
      const exception = iterableProperty[i]
      if (!this.collect(transaction, exception)) {
        continue
      }
      collectedErrors++
      if (
        urltils.isExpectedError(this.config, transaction.statusCode) ||
        errorHelper.isExpectedException(transaction, exception, this.config, urltils)
      ) {
        expectedErrors++
      }
    }
    return [collectedErrors, expectedErrors]
  }
Helper method for processing errors that are created with .noticeError(), exceptions
on the transaction (transaction.exceptions array), and inferred errors based on Transaction metadata.

@param {Transaction} transaction the collected exception's transaction
@param {number} collectedErrors the number of errors we've successfully .collect()-ed
@param {number} expectedErrors the number of errors marked as expected in noticeError
@param {string} errorType the type of error to be processed; "user", "transactionException", "transaction"
@returns {Array.<number>} the updated [collectedErrors, expectedErrors] numbers post processing