code: public long getInitialDelay() {
          long l = RANDOM.nextLong();
          // Math.abs(Long.MIN_VALUE)==Long.MIN_VALUE!
          if (l==Long.MIN_VALUE)
              l++;
          return Math.abs(l)%getRecurrencePeriod();
      }
docs: Gets the number of milliseconds til the first execution.
  
  <p>
  By default it chooses the value randomly between 0 and {@link #getRecurrencePeriod()}