code: public static Iterator<Calendar> iterator(final Date focus, final int rangeStyle) {
          validateDateNotNull(focus);
          final Calendar gval = Calendar.getInstance();
          gval.setTime(focus);
          return iterator(gval, rangeStyle);
      }
docs: <p>Constructs an <code>Iterator</code> over each day in a date
  range defined by a focus date and range style.</p>
  
  <p>For instance, passing Thursday, July 4, 2002 and a
  <code>RANGE_MONTH_SUNDAY</code> will return an <code>Iterator</code>
  that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
  2002, returning a Calendar instance for each intermediate day.</p>
  
  <p>This method provides an iterator that returns Calendar objects.
  The days are progressed using {@link Calendar#add(int, int)}.</p>
  
  @param focus  the date to work with, not null
  @param rangeStyle  the style constant to use. Must be one of
  {@link DateUtils#RANGE_MONTH_SUNDAY},
  {@link DateUtils#RANGE_MONTH_MONDAY},
  {@link DateUtils#RANGE_WEEK_SUNDAY},
  {@link DateUtils#RANGE_WEEK_MONDAY},
  {@link DateUtils#RANGE_WEEK_RELATIVE},
  {@link DateUtils#RANGE_WEEK_CENTER}
  @return the date iterator, not null, not null
  @throws IllegalArgumentException if the date is <code>null</code>
  @throws IllegalArgumentException if the rangeStyle is invalid