try
{
if ((event.getType() & ReportEvent.SUMMARY_ROW_START) == ReportEvent.SUMMARY_ROW_START)
{
final GroupOutputHandler handler = new CrosstabRowOutputHandler();
outputHandlers.push(handler);
handler.summaryRowStart(this, event);
}
else if ((event.getType() & ReportEvent.SUMMARY_ROW_END) == ReportEvent.SUMMARY_ROW_END)
{
final GroupOutputHandler handler = outputHandlers.pop();
handler.summaryRowEnd(this, event);
}
else
{
final GroupOutputHandler handler = outputHandlers.peek();
handler.summaryRow(this, event);
}
}
catch (final InvalidReportStateException fe)
{
throw fe;