if (!fViewer.getSelection().equals(newSelection)) {
if (fViewer.getSelection().equals(newSelection)) { fViewer.reveal(element); } else {
	boolean showInput(Object input) {		Object element= null;					if (input instanceof IFile && isOnClassPath((IFile)input)) {			element= JavaCore.create((IFile)input);		}						if (element == null) // try a non Java resource			element= input;						if (element != null) {			ISelection newSelection= new StructuredSelection(element);			if (!fViewer.getSelection().equals(newSelection)) {				try {					fViewer.removeSelectionChangedListener(fSelectionListener);											fViewer.setSelection(newSelection);						while (element != null && fViewer.getSelection().isEmpty()) {						// Try to select parent in case element is filtered						element= getParent(element);						if (element != null) {							newSelection= new StructuredSelection(element);							fViewer.setSelection(newSelection);						}					}				} finally {					fViewer.addSelectionChangedListener(fSelectionListener);				}			}			return true;		}		return false;	}