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
* 
 * <li>The redo of a record must again transition the model from the initial
 * state to the final state.</li>
 * 
 * <li>Suppose the application issues three records in succession: C1, C2 and
 * C3. Then the final state of C1 is the initial state of C2. And the final
 * state of C2 is the initial state of C3.</li>
 * 
 * <li>Whenever a new record is executed, the redo stack is flushed.</li>
 * 
 * <li><strong>All </strong> changes to the model are done by records.</li>
 * </ul>
 * <p>
 * To understand why these rules are important, consider how records work.
 * Suppose we have a record that is to delete an element E. Obviously, for the
 * record to work, element E must exist and must be part of the model. This is
 * the initial state, and is a valid model state. When the record executes,
 * element E must be removed from the model and any dangling references must be
 * cleaned up. The result is a final state that is also a valid state.
 * <p>
 * In order for the above record to undo, the exact same final state must obtain
 * at the time we undo the record. That means, for example, that element E must
 * still be deleted, and no new element can appear in the model with the same
 * name as the deleted element. These constraints allow the record to reverse
 * its effect without fear of invalidating the design. The result is that the
 * model transitions back to the initial state.
 * <p>
 * This careful transition of states works only if records are executed, undone,
 * and redone in exactly the right order. Records must be undone in the order
 * that they were done. Suppose that they are not. In this case, when record C