public void testAddRemoveModelStateListener() throws IOException, CoreException { IStructuredModel model = getTestModel(); try { IModelStateListener listener = new IModelStateListener() { public void modelAboutToBeChanged(IStructuredModel model) { // } public void modelChanged(IStructuredModel model) { // } public void modelDirtyStateChanged(IStructuredModel model, boolean isDirty) { // } public void modelResourceDeleted(IStructuredModel model) { // } public void modelResourceMoved(IStructuredModel oldModel, IStructuredModel newModel) { // } public void modelAboutToBeReinitialized(IStructuredModel structuredModel) { // } public void modelReinitialized(IStructuredModel structuredModel) { // } }; model.aboutToChangeModel(); model.removeModelStateListener(listener); } finally { if (model != null) { model.releaseFromEdit(); } } }