@Override
	public void windowClosing(WindowEvent event) {
		if (!hasOwnedWindowsShowing(this)) {
			List<Saveable> saveables = new ArrayList<>();
			collectSaveables(this, saveables);
			if (SaveCommand.attemptSave(saveables)) {
				dispose();
			}
		}
	}