if ( header.getRowCount( ) > 0 )
TableBandDesign header = createTableBand( handle.getHeader( ) ); header.setBandType( TableBandDesign.GROUP_HEADER ); header.setGroup( tableGroup ); tableGroup.setHeader( header ); tableGroup.setHeaderRepeat( handle.repeatHeader( ) );   String toc = handle.getTocExpression( ); if ( null != toc && !"".equals( toc.trim( ) ) )
	public void visitTableGroup( TableGroupHandle handle )	{		TableGroupDesign tableGroup = new TableGroupDesign( );		setupGroup( tableGroup, handle );		TableBandDesign header = createTableBand( handle.getHeader( ) );		header.setBandType( TableBandDesign.GROUP_HEADER );		header.setGroup( tableGroup );		tableGroup.setHeader( header );		tableGroup.setHeaderRepeat( handle.repeatHeader( ) );		// flatten TOC on group to the first report item in group header		String toc = handle.getTocExpression( );		if ( null != toc && !"".equals( toc.trim( ) ) ) //$NON-NLS-1$		{			if ( header.getRowCount( ) > 0 )			{				RowDesign row = header.getRow( 0 );				row.setTOC( createExpression( toc ) );			}		}		TableBandDesign footer = createTableBand( handle.getFooter( ) );		footer.setBandType( TableBandDesign.GROUP_FOOTER );		footer.setGroup( tableGroup );		tableGroup.setFooter( footer );				boolean hideDetail = handle.hideDetail( );		tableGroup.setHideDetail( hideDetail );				currentElement = tableGroup;	}