ContainerSlot groups = table.getSlot( TableItem.GROUP_SLOT );
ContainerSlot groups = table.getSlot( IListingElementModel.GROUP_SLOT );
	public static LayoutTable applyLayout( Module module, TableItem table )	{		LayoutTable mappingTable = new LayoutTable( table, module );		// for any semantic error, ignore all dropping properties.		applyLayoutOnSlot( mappingTable.getHeader( ), table				.getSlot( TableItem.HEADER_SLOT ), module );		ContainerSlot groups = table.getSlot( TableItem.GROUP_SLOT );		int groupCount = groups.getCount( );		// check on group header by group header. From the outer to the		// inner-most.		for ( int groupIndex = 0; groupIndex < groupCount; groupIndex++ )		{			TableGroup group = (TableGroup) groups.getContent( groupIndex );			ContainerSlot header = group.getSlot( TableGroup.HEADER_SLOT );			LayoutSlot slot = mappingTable.getGroupHeaders( ).addSlot(					group.getGroupLevel( ), mappingTable.getColumnCount( ) );			applyLayoutOnSlot( slot, header, module );		}		applyLayoutOnSlot( mappingTable.getDetail( ), table				.getSlot( TableItem.DETAIL_SLOT ), module );		// check on group footer by group footer. From the outer to the		// inner-most.		for ( int groupIndex = groupCount - 1; groupIndex >= 0; groupIndex-- )		{			TableGroup group = (TableGroup) groups.getContent( groupIndex );			ContainerSlot header = group.getSlot( TableGroup.FOOTER_SLOT );			LayoutSlot slot = mappingTable.getGroupFooters( ).addSlot(					group.getGroupLevel( ), mappingTable.getColumnCount( ) );			applyLayoutOnSlot( slot, header, module );		}		applyLayoutOnSlot( mappingTable.getFooter( ), table				.getSlot( TableItem.FOOTER_SLOT ), module );		return mappingTable;	}