for (int i = 0, max = elements.length; i < max; i++) {
// collect all the java project
IJavaElement element = elements[i];
IJavaProject javaProject = element.getJavaProject();
IProject project = javaProject.getProject();
State state = null;
State currentState = (State) projectsStates.get(project);
if (currentState != null) {
state = currentState;
} else {
state = (State) JavaModelManager.getJavaModelManager().getLastBuiltState(project, null);
if (state != null) {