@Override
	public void storeState(Hashtable<Object, Object> state) {
		List<Row> rows = getRows();
		state.put(UNDO_KEY_ROWS, new ArrayList<>(rows));
		state.put(UNDO_KEY_SELECTION, new Selection(getSelection()));
		String sortConfig = getSortConfig();
		if (sortConfig != null) {
			state.put(UNDO_KEY_SORT_CONFIG, sortConfig);
		}
		for (Row row : RowSorter.collectContainerRows(rows, new HashSet<Row>())) {
			state.put(row, new RowUndoSnapshot(row));
		}
	}