function generateSdkParam (param, location) {
  const sdkElementMap = {
    'query': QueryParam,
    'header': Header,
    'path': Variable
  };

  let generatedParam = {
    key: param.key,
    value: param.value
  };

  _.has(param, 'disabled') && (generatedParam.disabled = param.disabled);

  // use appropriate sdk element based on location parmaeter is in for param generation
  if (sdkElementMap[location]) {
    generatedParam = new sdkElementMap[location](generatedParam);
  }
  param.description && (generatedParam.description = param.description);
  return generatedParam;
}
Generates appropriate collection element based on parameter location

@param {Object} param - Parameter object habing key, value and description (optional)
@param {String} location - Parameter location ("in" property of OAS defined parameter object)
@returns {Object} - SDK element