ItemState persistentState = transientState.getOverlayedState();
// remove persistent state
// this will indirectly (through stateDestroyed listener method)
// permanently invalidate all Item instances wrapping it
if (transientState.getModCount() != persistentState.getModCount()) {
throw new StaleItemStateException(transientState.getId() + " has been modified externally");
}
sism.destroy(persistentState);
}
}