if (!utils.isObject(options)) {
      throw new IllegalArgumentError(errorPrefix + 'options: Must be an object!', { actual: typeof options, expected: 'object' });
    } else if (!utils.isObject(key) && !utils.isString(key)) {
      throw new IllegalArgumentError(errorPrefix + 'key: Must be a string or an object!', { actual: typeof key, expected: 'string|object' });
    }