Bug 146976 Save state of the report not correct.
Reproduce: 1) New a library "lib1", add a label "label1" 2) Publish "lib1" 3) New a report "report1", use "lib1" 4) Drag "lib1.label1" into "report1" 5) Go back to "lib1", drop "label1", save and publish again. 6) Go to "report1", refresh the libaray explorer and design. 7) Save "report1" 8) Now, we go back to "lib1" 9) Undo the previous "delete command", "label1" is added back. 10) Save "lib1", and re-publish. 11) Go to "report1", refresh the libaray explorer and design. 12) Save "report1" At this stage, "report1" is saved, but the dirty indicator(*) still displayed in the left side of the report name. I am testing on build N20060613
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/activity/ActivityStack.java
* method is useful for debugging only, since the list contains no marker to
	 * note which records have been undone.
	 * 
	 * @return An array containing all records in the order they were executed.
	 */
	public Object[] getRecords( )
	{
		List records = new ArrayList( undoStack );
		for ( int i = redoStack.size( ) - 1; i >= 0; i-- )
		{
			records.add( redoStack.get( i ) );
		}
		return records.toArray( );
	}
	/**
	 * Peeks at the top of the redo stack.
	 * 
	 * @return The record at the top of the redo stack, or null if there is no
	 *         such record.
	 */
	public IActivityRecord getRedoRecord( )
	{
		return redoStack.isEmpty( ) ? null : (ActivityRecord) redoStack.peek( );
	}
	/**
	 * Peeks at the top of the undo stack.
	 * 
	 * @return The record at the top of the undo stack, or null if there is no
	 *         such record.
	 */