class BiMonthlyPeriodType extends CalendarPeriodType {

    @Override
    public List<Period> generateRollingPeriods( DateTimeUnit dateTimeUnit, Calendar calendar )
    {
        dateTimeUnit.setDay( 1 );
        DateTimeUnit iterationDateTimeUnit = calendar.minusMonths( dateTimeUnit, (dateTimeUnit.getMonth() % 2) + 10 );

        List<Period> periods = Lists.newArrayList();

        for ( int i = 0; i < 6; i++ )
        {
            periods.add( createPeriod( iterationDateTimeUnit, calendar ) );
            iterationDateTimeUnit = calendar.plusMonths( iterationDateTimeUnit, 2 );
        }

        return periods;
    }

}