lib/docgen/StaticDocumentation.js
function(parameters, inheritedParameters, path_) {
    var _parameters = {
      'path': [],
      'query': [],
      'body': [],
      'header':[]
    }
    self = this
    var descriptor = function(parameter, inherited) {
      return {
          name: parameter.name,
          description: parameter.description,
          location: parameter.location,
          schema: self._removeNoDocumentProperties(parameter.schema),
          example: parameter.example,
          required: parameter.required,
          default: parameter.default,
          inherited: inherited,
      }
    }
    if (!_.isUndefined(inheritedParameters)) {
      for (var parameter in inheritedParameters) {
        if(this._includeUndocumented || !inheritedParameters[parameter].noDocument) {
          _parameters[inheritedParameters[parameter].location].push(
            descriptor(inheritedParameters[parameter], true))
        }
      }
    }
    for (var parameter in parameters) {
      if(this._includeUndocumented || !parameters[parameter].noDocument) {
        _parameters[parameters[parameter].location].push(descriptor(parameters[parameter], false))
      }
    }
    var existingPathParams = _.map(_parameters.path, function(val) { return val.name })
    _parameters.path = _.concat(_parameters.path, this._getPathParameters(path_, existingPathParams))
    for (var location in _parameters) {
      if (_parameters[location].length == 0) {
        delete _parameters[location]
      }
    }
    return _parameters
  }
function(parameters, inheritedParameters, path_) {
    var _parameters = {
      'path': [],
      'query': [],
      'body': [],
      'header':[]
    }
    self = this
    var descriptor = function(parameter, inherited) {
      return {
          name: parameter.name,
          description: parameter.description,
          location: parameter.location,
          schema: self._removeNoDocumentProperties(parameter.schema),
          example: parameter.example,
          required: parameter.required,
          default: parameter.default,
          inherited: inherited,
      }
    }
    if (!_.isUndefined(inheritedParameters)) {
      for (var parameter in inheritedParameters) {
        if(this._includeUndocumented || !inheritedParameters[parameter].noDocument) {
          _parameters[inheritedParameters[parameter].location].push(
            descriptor(inheritedParameters[parameter], true))
        }
      }
    }
    for (var parameter in parameters) {
      if(this._includeUndocumented || !parameters[parameter].noDocument) {
        _parameters[parameters[parameter].location].push(descriptor(parameters[parameter], false))
      }
    }
    var existingPathParams = _.map(_parameters.path, function(val) { return val.name })
    _parameters.path = _.concat(_parameters.path, this._getPathParameters(path_, existingPathParams))
    for (var location in _parameters) {
      if (_parameters[location].length == 0) {
        delete _parameters[location]
      }
    }
    return _parameters
  }
********************************************************************
_generateParameterDescriptors

XXX: get rid of path_ parameter... this should be done somewhere else

@param {object} parameters
@param {object} inheritedParameters
@param {string} path_
@returns {object}