question: public long next ( long fromTime ) { if ( getCurrentCount ( ) == 0 || fromTime == 0 || fromTime == startDate . getTime ( ) ) { return first ( ) ; } if ( Debug . verboseOn ( ) ) { Debug . logVerbose ( "Date List Size: " + ( rDateList == null ? 0 : rDateList . size ( ) ) , module ) ; Debug . logVerbose ( "Rule List Size: " + ( rRulesList == null ? 0 : rRulesList . size ( ) ) , module ) ; } if ( rDateList == null && rRulesList == null ) { return 0 ; } long nextRuleTime = fromTime ; boolean hasNext = true ; Iterator < RecurrenceRule > rulesIterator = getRecurrenceRuleIterator ( ) ; while ( rulesIterator . hasNext ( ) ) { RecurrenceRule rule = rulesIterator . next ( ) ; while ( hasNext ) { nextRuleTime = getNextTime ( rule , nextRuleTime ) ; if ( nextRuleTime == 0 || isValid ( nextRuleTime ) ) { hasNext = false ; } } } return nextRuleTime ; }
target:  Returns the next recurrence from the specified time. 