docs: @Override
    public void setStartTime(final long timestamp) {
      if (timestamp < 0 || ((timestamp & Const.SECOND_MASK) != 0 && 
          timestamp > 9999999999999L)) {
        throw new IllegalArgumentException("Invalid timestamp: " + timestamp);
      } else if (end_time != UNSET && timestamp >= getEndTime()) {
        throw new IllegalArgumentException("new start time (" + timestamp
            + ") is greater than or equal to end time: " + getEndTime());
      }
      start_time = timestamp;
    }