if (isValidInput(je)){ fLastInputWasProject= je.getElementType() == IJavaElement.JAVA_PROJECT; return je; } else if (fLastInputWasProject && je != null) { return je.getJavaProject(); } else return super.findInputForJavaElement(je);
if(je.getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT || je.getElementType() == IJavaElement.JAVA_PROJECT) return findInputForJavaElement(je, true); else return findInputForJavaElement(je, false);
	protected IJavaElement findInputForJavaElement(IJavaElement je) {		if (isValidInput(je)){			fLastInputWasProject= je.getElementType() == IJavaElement.JAVA_PROJECT;			return je;		} else if (fLastInputWasProject && je != null) {			return je.getJavaProject();			} else			return super.findInputForJavaElement(je);	}