Track done and undone changes. Done changes can be undone; undone changes can be redone. Each change is actually not tracked directly but through a history entry. The history entry stores only the metadata, while the change object stores the actual data. Thus the history entries are much smaller and can be kept in memory, while the change objects are only loaded into memory on demand.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.