/** */ public void release() { if(!fDoc2AdapterMap.isEmpty()) { Object[] docs = fDoc2AdapterMap.keySet().toArray(); DocumentTypeAdapter adapter = null; for (int i = 0; i < docs.length; i++) { adapter = (DocumentTypeAdapter)fDoc2AdapterMap.get(docs[i]); adapter.release(); ((IDOMDocument)docs[i]).removeAdapter(adapter); } fDoc2AdapterMap.clear(); } // https://bugs.eclipse.org/bugs/show_bug.cgi?id=95960 if (this.preferences != null) { this.preferences.removePropertyChangeListener(this); } }