if (fViewer.getControl().isDisposed()) { return; }
	protected void valueChanged(final boolean on) {		BusyIndicator.showWhile(fViewer.getControl().getDisplay(), new Runnable() {			public void run() {				if (on) {					ViewerFilter filter= getViewerFilter();					ViewerFilter[] filters= fViewer.getFilters();					boolean alreadyAdded= false;					for (int i= 0; i < filters.length; i++) {						ViewerFilter addedFilter= filters[i];						if (addedFilter.equals(filter)) {							alreadyAdded= true;							break;						}					}					if (!alreadyAdded) {						fViewer.addFilter(filter);					}									} else {					fViewer.removeFilter(getViewerFilter());				}				setToolTipText(getToolTipText(on));												}		});	}