function _validateThenUpdateStatusCodes(remote, local, remoteKey, localKey) {
  const valueToTest = remote[remoteKey]
  if (!Array.isArray(valueToTest)) {
    logger.warn(
      'Saw SSC (ignore|expect)_status_codes that is not an array, will not merge: %s',
      valueToTest
    )
    return
  }

  let valid = true
  valueToTest.forEach(function validateArray(thingToTest) {
    if (!(typeof thingToTest === 'string' || typeof thingToTest === 'number')) {
      logger.warn(
        'Saw SSC (ignore|expect)_status_code that is not a number or string,' +
          'will not merge: %s',
        thingToTest
      )
      valid = false
    }
  })
  if (!valid) {
    return
  }

  return this._updateNestedIfChanged(remote, local, remoteKey, localKey)
}
Expected and Ignored status code configuration values should look like this

    [500,'501','503-507']

If the server side config is not in this format, it might put the agent
in a world of hurt.  So, before we pass everything on to
_updateNestedIfChanged, we'll do some validation.

@param {object} remote    JSON sent from New Relic.
@param {object} local     A portion of this configuration object.
@param {string} remoteKey The name sent by New Relic.
@param {string} localKey  The local name.