static runWithMetadata (
    query,
    parameters,
    { bookmarks, txConfig, database, mode, impersonatedUser, notificationFilter } = {}
  ) {
    const metadata = buildTxMetadata(bookmarks, txConfig, database, mode, impersonatedUser, notificationFilter)
    return new RequestMessage(
      RUN,
      [query, parameters, metadata],
      () =>
        `RUN ${query} ${json.stringify(parameters)} ${json.stringify(metadata)}`
    )
  }
Create a new RUN message with additional metadata.
@param {string} query the cypher query.
@param {Object} parameters the query parameters.
@param {Object} extra - extra params
@param {Bookmarks} extra.bookmarks the bookmarks.
@param {TxConfig} extra.txConfig the configuration.
@param {string} extra.database the database name.
@param {string} extra.mode the access mode.
@param {string} extra.impersonatedUser the impersonated user.
@param {notificationFilter} extra.notificationFilter the notification filter
@return {RequestMessage} new RUN message with additional metadata.