void adjustInputAndSetSelection(IJavaElement je) {
void adjustInputAndSetSelection(Object o) { if (!(o instanceof IJavaElement)) { setSelection(StructuredSelection.EMPTY, true); return; };  IJavaElement je= (IJavaElement)o;
	void adjustInputAndSetSelection(IJavaElement je) {						IJavaElement elementToSelect= getSuitableJavaElement(findElementToSelect(je));		IJavaElement newInput= findInputForJavaElement(je);		if (elementToSelect == null && !isValidInput(newInput))			// Clear input			setInput(null);		else if (elementToSelect == null || getViewer().testFindItem(elementToSelect) == null) {			// Adjust input to selection			setInput(newInput);			// Recompute suitable element since it depends on the viewer's input			elementToSelect= getSuitableJavaElement(elementToSelect);		}				if (elementToSelect != null && elementToSelect.exists())			setSelection(new StructuredSelection(elementToSelect), true);		else			setSelection(StructuredSelection.EMPTY, true);	}