public boolean isValidCurrent(long checkTime){
  if (checkTime == 0 || (rDateList == null && rRulesList == null)) {
    return false;
  }
  boolean found=false;
  Iterator<RecurrenceRule> rulesIterator=getRecurrenceRuleIterator();
  while (rulesIterator.hasNext()) {
    RecurrenceRule rule=rulesIterator.next();
    long currentTime=rule.validCurrent(getStartTime(),checkTime,getCurrentCount());
    currentTime=checkDateList(rDateList,currentTime,checkTime);
    if ((currentTime > 0) && isValid(checkTime)) {
      found=true;
    }
 else {
      return false;
    }
  }
  return found;
}

public boolean isValidCurrent ( long checkTime ) { if ( checkTime == 0 || ( rDateList == null && rRulesList == null ) ) { return false ; } boolean found = false ; Iterator < RecurrenceRule > rulesIterator = getRecurrenceRuleIterator ( ) ; while ( rulesIterator . hasNext ( ) ) { RecurrenceRule rule = rulesIterator . next ( ) ; long currentTime = rule . validCurrent ( getStartTime ( ) , checkTime , getCurrentCount ( ) ) ; currentTime = checkDateList ( rDateList , currentTime , checkTime ) ; if ( ( currentTime > 0 ) && isValid ( checkTime ) ) { found = true ; } else { return false ; } } return found ; }
checks the current recurrence validity for checktime .
