********************************************************************


@param {object} operation
@returns {array}
function(method, operation, path_) {
    var self = this

    var allParameters = operation.getAllParameters()
    var inheritedParameters = _.keys(allParameters).reduce(function(obj, e) {
          if (! (e in operation.parameters)) {
            obj[e] = allParameters[e]
          }
          return obj
        }, {})

    var parameterDescriptors = self._generateParameterDescriptors(operation.parameters, inheritedParameters, path_)

    // XXX: description is not currently a property of "Operation"
    return {
      method: method.toUpperCase(),
      description: operation.description,
      requestSchemaElements: self._generateRequestSchemaDescriptors(method, operation.parameters),
      responseSchemaElements: self._generateResponseSchemaDescriptors(operation.responses),
      parameters: parameterDescriptors,
      requests: self._generateRequestDescriptors(method, operation.parameters, parameterDescriptors),
      responses: self._generateResponseDescriptors(operation.responses)
    }
  }