private Iterator<Date> std_lower_bound(final Date date){
  final List<Date> ldates=new ArrayList<Date>();
  if (dates_.size() > 0) {
    int index=-1;
    for (int i=0; i < dates_.size(); i++) {
      final Date d=dates_.get(i);
      if (d.equals(date)) {
        index=i;
        break;
      }
    }
    if (index > 0) {
      for (int i=index; i < dates_.size(); i++) {
        ldates.add(dates_.get(i));
      }
      return ldates.iterator();
    }
  }
  return ldates.iterator();
}

private Iterator < Date > std_lower_bound ( final Date date ) { final List < Date > ldates = new ArrayList < Date > ( ) ; if ( dates_ . size ( ) > 0 ) { int index = - 1 ; for ( int i = 0 ; i < dates_ . size ( ) ; i ++ ) { final Date d = dates_ . get ( i ) ; if ( d . equals ( date ) ) { index = i ; break ; } } if ( index > 0 ) { for ( int i = index ; i < dates_ . size ( ) ; i ++ ) { ldates . add ( dates_ . get ( i ) ) ; } return ldates . iterator ( ) ; } } return ldates . iterator ( ) ; }
standard c + + library reference lower_bound finds the position of the first element in an ordered range that has a value greater than or equivalent to a specified value , where the ordering criterion may be specified by a binary predicate .
