constructor(code, message, metadata = {}) {
    super(message);
    /** @type {!StatusCode} */
    this.code = code;
    /** @type {!Metadata} */
    this.metadata = metadata;
  }
@param {!StatusCode} code
@param {string} message
@param {!Metadata=} metadata