if (reportData.getCursorPosition() != cursor)
{
// directly go to the position we need.
if (reportData.setCursorPosition(cursor + 1) == false)
{
throw new DataSourceException("Unable to advance cursor position");
}
}
else
{
if (reportData.next() == false)
{
throw new DataSourceException("Unable to advance cursor position");
}
}
return new ReportDataRow(reportData, this);
}
}