code: function (param) {
          _.assign(this, /** @lends QueryParam.prototype */ _.isString(param) ? QueryParam.parseSingle(param) : {
              key: _.get(param, 'key'), // we do not replace falsey with blank string since null has a meaning
              value: _.get(param, 'value')
          });
          _.has(param, 'system') && (this.system = param.system);
      }
docs: Updates the key and value of the query parameter
  
  @param {String|Object} param
  @param {String} param.key
  @param {String=} [param.value]