executableElements[totalElements++] = groupDesign.getHeader( );
BandDesign header = groupDesign.getHeader( ); if (header != null) { executableElements[totalElements++] = header; }
	void collectExecutableElements()	{		currentElement = 0;		totalElements = 0;		endOfGroup = false;				ListingDesign listingDesign = (ListingDesign) listingExecutor				.getDesign( );		IResultSet rset = listingExecutor.getResultSet( );		GroupDesign groupDesign = (GroupDesign)getDesign();		int groupCount = listingDesign.getGroupCount();		//compare with the start group, the start group 		//start with 0 --> listing		//1 --> first group (0)		int groupLevel = groupDesign.getGroupLevel( ) + 1;		int startGroup = rset.getStartingGroupLevel( );		hiddenDetail = groupDesign.getHideDetail( );		if (startGroup <= groupLevel)		{			//this is the first record			executableElements[totalElements++] = groupDesign.getHeader( );		}		if ( !hiddenDetail )		{			if (groupCount > groupLevel)			{				executableElements[totalElements++] = listingDesign.getGroup( groupLevel );			}			else 			{				executableElements[totalElements++] = listingDesign.getDetail( );			}		}		int endGroup = rset.getEndingGroupLevel( );		if (endGroup <= groupLevel )		{			//this is the last record			executableElements[totalElements++] = groupDesign.getFooter( );			if (endGroup <= groupLevel )			{				endOfGroup = true;			}		}	}