public BatchUpdateException(
      LogWriter logWriter,
      ClientMessageId msgid,
      Object[] args,
      int[] updateCounts,
      SqlException cause) {
    super(
        msgutil_.getCompleteMessage(msgid.msgid, args),
        ExceptionUtil.getSQLStateFromIdentifier(msgid.msgid),
        ExceptionUtil.getSeverityFromIdentifier(msgid.msgid),
        updateCounts);

    if (logWriter != null) {
      logWriter.traceDiagnosable(this);
    }

    if (cause != null) {
      initCause(cause);
      setNextException(cause.getSQLException());
    }
  }