@NonNull
  public static JobTrigger.ExecutionWindowTrigger executionWindow(int windowStart, int windowEnd) {
    if (windowStart < 0) {
      throw new IllegalArgumentException("Window start can't be less than 0");
    } else if (windowEnd < windowStart) {
      throw new IllegalArgumentException("Window end can't be less than window start");
    }

    return new JobTrigger.ExecutionWindowTrigger(windowStart, windowEnd);
  }
Creates a new ExecutionWindow based on the provided time interval.

@param windowStart The earliest time (in seconds) the job should be considered eligible to run.
    Calculated from when the job was scheduled (for new jobs) or last run (for recurring jobs).
@param windowEnd The latest time (in seconds) the job should be run in an ideal world.
    Calculated in the same way as {@code windowStart}.
@throws IllegalArgumentException if the provided parameters are too restrictive.
jobdispatcher/src/main/java/com/firebase/jobdispatcher/Trigger.java