private static CrosstabSpecification buildCS(final TableModel data) throws ReportProcessingException
{
final ProcessingContext prc = new DefaultProcessingContext();
final GlobalMasterRow gmr = GlobalMasterRow.createReportRow
(prc, new DefaultDataSchemaDefinition(), new ParameterDataRow());
gmr.requireStructuralProcessing();
MasterDataRow masterDataRow = gmr.deriveWithQueryData(data);
final CrosstabSpecification crosstabSpecification = new SortedMergeCrosstabSpecification
(new ReportStateKey(), new String[]{"Product", "Time"}, new String[] {"Region"});
int advanceCount = 0;