code: function processResponses(swagger, def, path, models) {
    var responses = def.responses || {};
    var operationResponses = {};
    operationResponses.returnHeaders = false;
    for (var code in responses) {
      var response = responses[code];
      if (response.$ref) {
        response = resolveRef(swagger, response.$ref);
      }
      if (!response.schema) {
        continue;
      }
      var type = propertyType(response.schema);
      if (/2\d\d/.test(code)) {
        // Successful response
        operationResponses.resultType = type;
        operationResponses.resultDescription = response.description;
        var headers = response.headers || {};
        for (var prop in headers) {
          // This operation returns at least one header
          operationResponses.returnHeaders = true;
          break;
        }
      }
      operationResponses[code] = {
        code: code,
        type: type,
      };
    }
    if (!operationResponses.resultType) {
      operationResponses.resultType = 'null';
    }
    return operationResponses;
  }
docs: /*
  Process an operation's possible responses. Returns an object keyed
  by each HTTP code, whose values are objects with code and type properties,
  plus a property resultType, which is the type to the HTTP 2xx code.