/** Remove any listeners and dispose any state relating to a displayer * we are no longer interested in */ private void detachFromDisplayer(PropertyDisplayer displayer) { if (displayer instanceof CustomEditorDisplayer) { ((CustomEditorDisplayer) displayer).setRemoteEnvVetoListener(null); } if (displayer instanceof EditablePropertyDisplayer) { ((EditablePropertyDisplayer) displayer).setRemoteEnvVetoListener(null); ((EditablePropertyDisplayer) displayer).removeActionListener(getListener()); } }