docs: public TransactionOptions setTimeout(long timeout, TimeUnit timeUnit) {
          if (timeout < 0) {
              throw new IllegalArgumentException("Timeout can not be negative!");
          }
          if (timeUnit == null) {
              throw new IllegalArgumentException("timeunit can't be null");
          }
          if (timeout == 0) {
              setDefaultTimeout();
          } else {
              this.timeoutMillis = timeUnit.toMillis(timeout);
          }
          return this;
      }