for (Expenditure expenditure : map.values()) {
if (expenditure.isActive()) {
GDDate date = new GDDate(expenditure.getNextPaymentDate());
int frequency = expenditure.getFrequency();
while (date.beforeOrEqualsDay(endDate)) {
if (date.afterOrEqualsDay(beginDate)) {
Expenditure myBill = new Expenditure(expenditure.getId(), expenditure.getDescription(), new GDDate(date), expenditure.getFrequency(), expenditure.getNumberOfOcurrencies(), expenditure.getValue(), expenditure.isFixedValue(), expenditure.getCategoryId(), expenditure.getObservation());
listExpenditure.add(myBill);
}
date = skip(date, frequency);