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}`)
    }
  }
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}`)
    }
  }
function ( ) { if ( ! _ . isString ( this . name ) ) { throw new TypeError ( ` ${ this . name } ` ) } if ( ! _ . isString ( this . location ) || ! _ . includes ( VALID_LOCATIONS , this . location ) ) { throw new TypeError ( ` ${ this . location } ` + ` ${ VALID_LOCATIONS } ` ) } }
***************************************************************************
@method _validate
@description Validates that required properties are present
@throws Error
***************************************************************************