Program: 141756
Project: 141756
Buggy source:
@Override public void doSave(IProgressMonitor monitor){
  if (!isDirty()) {
    return;
  }
  updateRunJobContext();
  designerEditor.getProcess().getProperty().eAdapters().remove(dirtyListener);
  IRepositoryService service=CorePlugin.getDefault().getRepositoryService();
  IProxyRepositoryFactory repFactory=service.getProxyRepositoryFactory();
  display=getSite().getShell().getDisplay();
  repFactory.addRepositoryWorkUnitListener(repositoryWorkListener);
  if (getActivePage() == 0) {
    getEditor(0).doSave(monitor);
    Item item=getDesignerEditor().getProcess().getProperty().getItem();
    ProcessType processType=null;
    if (GlobalServiceRegister.getDefault().isServiceRegistered(ICamelDesignerCoreService.class)) {
      ICamelDesignerCoreService camelService=(ICamelDesignerCoreService)GlobalServiceRegister.getDefault().getService(ICamelDesignerCoreService.class);
      processType=camelService.getCamelProcessType(item);
    }
  }
  if (processEditorInput != null) {
    propertyInformation=new ArrayList(processEditorInput.getItem().getProperty().getInformations());
    propertyIsDirty=false;
    firePropertyChange(IEditorPart.PROP_DIRTY);
    if (GlobalServiceRegister.getDefault().isServiceRegistered(ICamelDesignerCoreService.class)) {
      ICamelDesignerCoreService camelService=(ICamelDesignerCoreService)GlobalServiceRegister.getDefault().getService(ICamelDesignerCoreService.class);
      if (camelService.isInstanceofCamelRoutes(processEditorInput.getItem())) {
        RepositoryManager.refresh(camelService.getRoutes());
      }
    }
  }
  if (designerEditor != null && dirtyListener != null)   designerEditor.getProcess().getProperty().eAdapters().add(dirtyListener);
  this.setName();
}

Fixed version (ground truth):
@Override public void doSave(IProgressMonitor monitor){
  if (!isDirty()) {
    return;
  }
  updateRunJobContext();
  designerEditor.getProcess().getProperty().eAdapters().remove(dirtyListener);
  IRepositoryService service=CorePlugin.getDefault().getRepositoryService();
  IProxyRepositoryFactory repFactory=service.getProxyRepositoryFactory();
  repFactory.addRepositoryWorkUnitListener(repositoryWorkListener);
  if (getActivePage() == 0) {
    getEditor(0).doSave(monitor);
    Item item=getDesignerEditor().getProcess().getProperty().getItem();
    ProcessType processType=null;
    if (GlobalServiceRegister.getDefault().isServiceRegistered(ICamelDesignerCoreService.class)) {
      ICamelDesignerCoreService camelService=(ICamelDesignerCoreService)GlobalServiceRegister.getDefault().getService(ICamelDesignerCoreService.class);
      processType=camelService.getCamelProcessType(item);
    }
  }
  if (processEditorInput != null) {
    propertyInformation=new ArrayList(processEditorInput.getItem().getProperty().getInformations());
    propertyIsDirty=false;
    firePropertyChange(IEditorPart.PROP_DIRTY);
    if (GlobalServiceRegister.getDefault().isServiceRegistered(ICamelDesignerCoreService.class)) {
      ICamelDesignerCoreService camelService=(ICamelDesignerCoreService)GlobalServiceRegister.getDefault().getService(ICamelDesignerCoreService.class);
      if (camelService.isInstanceofCamelRoutes(processEditorInput.getItem())) {
        RepositoryManager.refresh(camelService.getRoutes());
      }
    }
  }
  if (designerEditor != null && dirtyListener != null) {
    designerEditor.getProcess().getProperty().eAdapters().add(dirtyListener);
  }
  this.setName();
}