private boolean isClasspathBroken(JavaProject jProj, boolean tryRepair) throws CoreException { IMarker[] markers = jProj .getProject() .findMarkers(IJavaModelMarker.BUILDPATH_PROBLEM_MARKER, false, IResource.DEPTH_ZERO); for (int i = 0, l = markers.length; i < l; i++) { if (markers[i].getAttribute(IMarker.SEVERITY, -1) == IMarker.SEVERITY_ERROR) { if (tryRepair) { Object code = markers[i].getAttribute(IJavaModelMarker.ID); if (code instanceof Integer && ((Integer) code) == IJavaModelStatusConstants.CP_INVALID_EXTERNAL_ANNOTATION_PATH) { new ClasspathValidation(jProj).validate(); return isClasspathBroken(jProj, false); } } return true; } } return false; }