execute(next, nextContent);
executeHeader(next, nextContent);
		public boolean hasNextChild( )		{			if(!needUpdate)			{				return hasNext;			}			if(currentRunIn!=null)			{				if(currentRunIn.hasNextChild( ))				{					hasNext = true;					needUpdate = false;					return hasNext;				}				else				{					currentRunIn.close( );				}			}			currentRunIn = null;			while(executor.hasNextChild( ))			{				IReportItemExecutor next = executor.getNextChild( );				IContent nextContent = next.execute( );				if(nextContent instanceof IListBandContent)				{					IListBandContent band = (IListBandContent)nextContent;					if(repeat && (band.getBandType( )==IBandContent.BAND_HEADER || band.getBandType( )==IBandContent.BAND_GROUP_HEADER))					{						execute(next, nextContent);						next.close( );						next = new DOMReportItemExecutor(nextContent);						next.execute( );						nextContent.getParent( ).getChildren( ).add( nextContent );					}					if(next.hasNextChild( ))					{						currentRunIn = next;						break;					}				}				else				{					childExecutor = next;					childContent = nextContent;					break;				}			}			if(currentRunIn!=null || childContent!=null)			{				hasNext = true;			}			else			{				hasNext = false;			}			needUpdate = false;			return hasNext;		}