Program: 136081
Project: 136081
Buggy source:
public void start(BundleContext context) throws Exception {
  super.start(context);
  plugin=this;
  IWorkspace workspace=ResourcesPlugin.getWorkspace();
  UIHelper.runUIAsync(parseStatusUpdateRunable);
  workspace.addResourceChangeListener(new IResourceChangeListener(){
    public void resourceChanged(    IResourceChangeEvent event){
      ToolboxHandle.refreshToolboxExplorer();
    }
  }
);
  workspace.addResourceChangeListener(new IResourceChangeListener(){
    private boolean hasMarkerDelta(    IResourceChangeEvent event){
      IMarkerDelta[] deltas=event.findMarkerDeltas(TLAMarkerHelper.TOOLBOX_MARKERS_ALL_MARKER_ID,true);
      if (deltas.length > 0) {
        return true;
      }
      return false;
    }
    public void resourceChanged(    final IResourceChangeEvent event){
      if (!hasMarkerDelta(event)) {
        return;
      }
      UIHelper.runUIAsync(new Runnable(){
        public void run(){
          boolean showProblems=PreferenceStoreHelper.getInstancePreferenceStore().getBoolean(IPreferenceConstants.I_PARSER_POPUP_ERRORS);
          if (showProblems) {
            if (TLAMarkerHelper.currentSpecHasProblems()) {
              ProblemView view=(ProblemView)UIHelper.getActivePage().findView(ProblemView.ID);
              if (view != null) {
                UIHelper.hideView(ProblemView.ID);
              }
              UIHelper.openView(ProblemView.ID);
            }
 else {
              UIHelper.hideView(ProblemView.ID);
            }
          }
        }
      }
);
    }
  }
,IResourceChangeEvent.POST_BUILD);
  workspace.addResourceChangeListener(new IResourceChangeListener(){
    public void resourceChanged(    IResourceChangeEvent event){
      IResourceDelta delta=event.getDelta();
      if (delta != null) {
        OutOfBuildSpecModulesGatheringDeltaVisitor moduleFinder=new OutOfBuildSpecModulesGatheringDeltaVisitor();
        try {
          delta.accept(moduleFinder);
          List modules=moduleFinder.getModules();
          if (!modules.isEmpty()) {
            getSpecManager().getSpecLoaded().setStatus(IParseConstants.UNPARSED);
          }
        }
 catch (        CoreException e) {
          Activator.logError("String_Node_Str",e);
        }
      }
    }
  }
,IResourceChangeEvent.POST_CHANGE);
}

Fixed version (ground truth):
public void start(BundleContext context) throws Exception {
  super.start(context);
  plugin=this;
  IWorkspace workspace=ResourcesPlugin.getWorkspace();
  UIHelper.runUIAsync(parseStatusUpdateRunable);
  workspace.addResourceChangeListener(new IResourceChangeListener(){
    public void resourceChanged(    IResourceChangeEvent event){
      ToolboxHandle.refreshToolboxExplorer();
    }
  }
);
  workspace.addResourceChangeListener(new IResourceChangeListener(){
    private boolean hasMarkerDelta(    IResourceChangeEvent event){
      IMarkerDelta[] deltas=event.findMarkerDeltas(TLAMarkerHelper.TOOLBOX_MARKERS_ALL_MARKER_ID,true);
      if (deltas.length > 0) {
        return true;
      }
      return false;
    }
    public void resourceChanged(    final IResourceChangeEvent event){
      if (!hasMarkerDelta(event)) {
        return;
      }
      UIHelper.runUIAsync(new Runnable(){
        public void run(){
          boolean showProblems=PreferenceStoreHelper.getInstancePreferenceStore().getBoolean(IPreferenceConstants.I_PARSER_POPUP_ERRORS);
          if (showProblems) {
            if (TLAMarkerHelper.currentSpecHasProblems()) {
              ProblemView view=(ProblemView)UIHelper.getActivePage().findView(ProblemView.ID);
              if (view != null) {
                UIHelper.hideView(ProblemView.ID);
              }
              UIHelper.openView(ProblemView.ID);
            }
 else {
              UIHelper.hideView(ProblemView.ID);
            }
          }
        }
      }
);
    }
  }
,IResourceChangeEvent.POST_BUILD);
  workspace.addResourceChangeListener(new IResourceChangeListener(){
    public void resourceChanged(    IResourceChangeEvent event){
      IResourceDelta delta=event.getDelta();
      if (delta != null) {
        OutOfBuildSpecModulesGatheringDeltaVisitor moduleFinder=new OutOfBuildSpecModulesGatheringDeltaVisitor();
        try {
          if (Activator.isSpecManagerInstantiated()) {
            delta.accept(moduleFinder);
            List modules=moduleFinder.getModules();
            if (!modules.isEmpty()) {
              getSpecManager().getSpecLoaded().setStatus(IParseConstants.UNPARSED);
            }
          }
        }
 catch (        CoreException e) {
          Activator.logError("String_Node_Str",e);
        }
      }
    }
  }
,IResourceChangeEvent.POST_CHANGE);
}