Program: 134546
Project: 134546
Buggy source:
public void startup() throws CoreException {
  try {
    this.cache=new OpenableElementCache(5000);
    this.indexManager=new IndexManager();
    this.deltaProcessor=new DeltaProcessor(this);
    final IWorkspace workspace=ResourcesPlugin.getWorkspace();
    workspace.addResourceChangeListener(deltaProcessor,IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.POST_CHANGE| IResourceChangeEvent.PRE_DELETE| IResourceChangeEvent.PRE_CLOSE| IResourceChangeEvent.PRE_REFRESH);
    if (this.indexManager != null) {
      this.indexManager.reset();
    }
    yangModel.getYangProjects();
    Job processSavedState=new Job("String_Node_Str"){
      @Override protected IStatus run(      IProgressMonitor monitor){
        try {
          workspace.run(new IWorkspaceRunnable(){
            @Override public void run(            IProgressMonitor progress) throws CoreException {
              ISavedState savedState=workspace.addSaveParticipant(YangCorePlugin.PLUGIN_ID,YangModelManager.this);
              if (savedState != null) {
                YangModelManager.this.deltaProcessor.overridenEventType=IResourceChangeEvent.POST_CHANGE;
                savedState.processResourceChangeEvents(YangModelManager.this.deltaProcessor);
              }
            }
          }
,monitor);
        }
 catch (        CoreException e) {
          return e.getStatus();
        }
        return Status.OK_STATUS;
      }
    }
;
    processSavedState.setSystem(true);
    processSavedState.setPriority(Job.SHORT);
    processSavedState.schedule();
  }
 catch (  RuntimeException e) {
    e.printStackTrace();
    shutdown();
    throw e;
  }
}

Fixed version (ground truth):
public void startup() throws CoreException {
  try {
    this.cache=new OpenableElementCache(5000);
    this.indexManager=new IndexManager();
    this.deltaProcessor=new DeltaProcessor(this);
    final IWorkspace workspace=ResourcesPlugin.getWorkspace();
    workspace.addResourceChangeListener(deltaProcessor,IResourceChangeEvent.PRE_BUILD | IResourceChangeEvent.POST_BUILD | IResourceChangeEvent.POST_CHANGE| IResourceChangeEvent.PRE_DELETE| IResourceChangeEvent.PRE_CLOSE| IResourceChangeEvent.PRE_REFRESH);
    JavaCore.addElementChangedListener(deltaProcessor);
    if (this.indexManager != null) {
      this.indexManager.reset();
    }
    yangModel.getYangProjects();
    Job processSavedState=new Job("String_Node_Str"){
      @Override protected IStatus run(      IProgressMonitor monitor){
        try {
          workspace.run(new IWorkspaceRunnable(){
            @Override public void run(            IProgressMonitor progress) throws CoreException {
              ISavedState savedState=workspace.addSaveParticipant(YangCorePlugin.PLUGIN_ID,YangModelManager.this);
              if (savedState != null) {
                YangModelManager.this.deltaProcessor.overridenEventType=IResourceChangeEvent.POST_CHANGE;
                savedState.processResourceChangeEvents(YangModelManager.this.deltaProcessor);
              }
            }
          }
,monitor);
        }
 catch (        CoreException e) {
          return e.getStatus();
        }
        return Status.OK_STATUS;
      }
    }
;
    processSavedState.setSystem(true);
    processSavedState.setPriority(Job.SHORT);
    processSavedState.schedule();
  }
 catch (  RuntimeException e) {
    e.printStackTrace();
    shutdown();
    throw e;
  }
}