This is a text description of commitrd.gif. This figure illustrates the process of committing a child read Transaction into its parent read Transaction. In the figure, a box represents t1, which is a read Transaction in which a TopBottomTemplate object exists. TopBottomTemplate is an example of a Template. A second box represents t2, which is a write Transaction that begins when the state of the Template changes. The state change occurs from the following operations, which specify selecting the top ten values. topNBottom.setTopBottomType(TOP); topNBottom.setN(10); In t2, the prepareCurrentTransaction and commitCurrentTransaction methods are called on the TransactionProvider. The changes to the state of the TopBottomTemplate become active in t1 and t2 disappears. The getSource method on the DynamicDefinition created by the TopBottomTemplate is called. A Cursor for the Source is created, which retrieves the data from Oracle OLAP. The values from the Cursor are displayed. A third box in the figure represents the read Transaction t3, which is a child of t1 that results from the following operation. t1.beginSubtransaction(); A fourth box represents t4, which is a write Transaction that begins as a result of the following changes to the state of the TopBottomTemplate. topNBottom.setTopBottomType(BOTTOM); topNBottom.setN(15); The Source produced by the TopBottomTemplate now represents the selection of the bottom fifteen values. In t4, the prepareCurrentTransaction and commitCurrentTransaction methods are called on the TransactionProvider. The changes to the state of the TopBottomTemplate made in t4 become active in t3 and t4 disappears. In t3, the getSource method is called on the DynamicDefinition, a Cursor for the Source is created, and values from the Cursor are displayed. The prepareCurrentTransaction and commitCurrentTransaction methods are called. The result is that the state of the TopBottomTemplate from t3, representing the bottom fifteen values, moves into t1 and replaces the state of the TopBottomTemplate that represented the top ten values. The t3 Transaction disappears and t1 is again the current Transaction.