private Date backoffTime(Date startTime){
  if (startTime.before(DateUtils.addMinutes(new Date(),-5))) {
    return DateUtils.addSeconds(startTime,-1);
  }
  return DateUtils.addSeconds(startTime,-BACKOFF_TIME);
}

private Date backoffTime ( Date startTime ) { if ( startTime . before ( DateUtils . addMinutes ( new Date ( ) , - 5 ) ) ) { return DateUtils . addSeconds ( startTime , - 1 ) ; } return DateUtils . addSeconds ( startTime , - BACKOFF_TIME ) ; }
adds backoff time to start time . if the start time is too close to now , add backoff time , to avoid race conditions .
