protected IStatus run(IProgressMonitor monitor) { IValidatorOutput output = null; try { output = createOutput(); for (Iterator i = byProject.entrySet().iterator(); i.hasNext(); ) { Map.Entry entry = (Map.Entry) i.next(); final IProject project = (IProject) entry.getKey(); final ProjectInfo info = (ProjectInfo) entry.getValue(); invokeValidationFor( output, DLTKCore.create(project), info.elementsToArray(), info.resourcesToArray(), monitor); } } finally { if (output != null) { output.close(); } } return Status.OK_STATUS; }