``` public ScheduleRange(int start, int end, int step) { Preconditions.checkState(start >= 0 && step >= 0 && step >= 0); ``` Why do we need to check step twice?