if (CollectionUtils.isNotEmpty(alreadyRenderedRanges)) {//this band has been already rendered at least once
Range lastRenderedRange = alreadyRenderedRanges.get(alreadyRenderedRanges.size() - 1);
BandData lastRenderedBand = bandsToResultRanges.inverse().get(lastRenderedRange);
LastRowBandVisitor bandVisitor = new LastRowBandVisitor();
lastRenderedBand.visit(bandVisitor);
if (resultSheetRows.size() > bandVisitor.lastRow) {//get next row
firstRow = resultSheetRows.get(bandVisitor.lastRow);
}
} else if (!isFirstLevelBand) {