whole_func_string: function() {
      if (!_.isString(this.name)) {
        throw new TypeError(`OperationParameter.name (${this.name}) is required`)
      }
      if (!_.isString(this.location) || !_.includes(VALID_LOCATIONS, this.location)) {
        throw new TypeError(`OperationParameter.location (${this.location}) ` +
                            `is required and should be one of: ${VALID_LOCATIONS}`)
      }
    }
func_code_string: function() {
      if (!_.isString(this.name)) {
        throw new TypeError(`OperationParameter.name (${this.name}) is required`)
      }
      if (!_.isString(this.location) || !_.includes(VALID_LOCATIONS, this.location)) {
        throw new TypeError(`OperationParameter.location (${this.location}) ` +
                            `is required and should be one of: ${VALID_LOCATIONS}`)
      }
    }
func_documentation_string: ***************************************************************************
  @method _validate
  @description Validates that required properties are present
  @throws Error