// systems. The frame stored within appProps cannot be GC'd
// until appProps is, so its state will still be valid at the
// time run() is invoked.
Runnable shutdownTask = new Runnable() {
public void run() {
appProps.update();
}
};
Runtime.getRuntime().addShutdownHook(
new Thread(shutdownTask, "Application shutdown task"));