public void setViolationSeverity(int severity) {
    validateSeverity(severity);
    int oldSeverity = getViolationSeverity();

    if (severity != oldSeverity) {
      getModelProperties().setViolationSeverity(severity);

      for (IProject project : projects) {
        try {
          if (oldSeverity == -1) {
            model.accept(new ModelProblemCollector(this, project));
          } else if (severity != -1) {
            for (IMarker marker :
                project.findMarkers(defaults.MARKER_TYPE, true, IResource.DEPTH_INFINITE))
              marker.setAttribute(IMarker.SEVERITY, severity);
          } else project.deleteMarkers(defaults.MARKER_TYPE, true, IResource.DEPTH_INFINITE);
        } catch (CoreException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }
  }
 protected void attachToProject(IProject project) {
   if (!projects.add(project)) return;
   // This will add the errors originating from this project.
   model.accept(new ModelProblemCollector(this, project));
 }