}
	boolean showInput(Object input) {		Object element= null;					if (input instanceof IFile) 			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;	}