code: public List<DateTimePeriod> toFiveMinutes() {
          ArrayList<DateTimePeriod> list = new ArrayList<DateTimePeriod>();
  
          // default "current" five minutes to start datetime
          DateTime currentStart = getStart();
          // calculate "next" five minutes
          DateTime nextStart = currentStart.plusMinutes(5);
          // continue adding until we've reached the end
          while (nextStart.isBefore(getEnd()) || nextStart.isEqual(getEnd())) {
              // its okay to add the current
              list.add(new DateTimeFiveMinutes(currentStart, nextStart));
              // increment both
              currentStart = nextStart;
              nextStart = currentStart.plusMinutes(5);
          }
  
          return list;
      }
docs: Converts this period to a list of five minute periods.  Partial five minute periods will not be
  included.  For example, a period of "January 20, 2009 7 to 8 AM" will return a list
  of 12 five minute periods - one for each 5 minute block of time 0, 5, 10, 15, etc.
  On the other hand, a period of "January 20, 2009 at 13:04" would return an empty list since partial
  five minute periods are not included.
  @return A list of five minute periods contained within this period