Program: 57317
Project: 57317
Buggy source:
@Override protected void init(){
  pickingListener=new APickingListener(){
    @Override public void clicked(    Pick pick){
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getGeneSelectionManager();
      EventBasedSelectionManager metaboliteSelectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      metaboliteSelectionManager.clearSelection(SelectionType.SELECTION);
      selectionManager.clearSelection(SelectionType.SELECTION);
      for (      Integer davidId : node.getPrimaryPathwayVertexRep().getDavidIDs()) {
        selectionManager.addToType(SelectionType.SELECTION,davidId);
      }
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.SELECTION);
      pathwayPathRenderer.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getGeneSelectionManager();
      EventBasedSelectionManager metaboliteSelectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      metaboliteSelectionManager.clearSelection(SelectionType.MOUSE_OVER);
      selectionManager.clearSelection(SelectionType.MOUSE_OVER);
      for (      Integer davidId : node.getPrimaryPathwayVertexRep().getDavidIDs()) {
        selectionManager.addToType(SelectionType.MOUSE_OVER,davidId);
      }
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.MOUSE_OVER);
      pathwayPathRenderer.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getGeneSelectionManager();
      for (      Integer davidId : node.getPrimaryPathwayVertexRep().getDavidIDs()) {
        selectionManager.removeFromType(SelectionType.MOUSE_OVER,davidId);
      }
      selectionManager.triggerSelectionUpdateEvent();
      pathwayPathRenderer.setDisplayListDirty();
    }
  }
;
  view.addIDPickingListener(pickingListener,EPickingType.LINEARIZABLE_NODE.name(),node.hashCode());
}

Fixed version (ground truth):
@Override protected void init(){
  pickingListener=new APickingListener(){
    @Override public void clicked(    Pick pick){
      if (!node.isPickable())       return;
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getGeneSelectionManager();
      EventBasedSelectionManager metaboliteSelectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      metaboliteSelectionManager.clearSelection(SelectionType.SELECTION);
      selectionManager.clearSelection(SelectionType.SELECTION);
      for (      Integer davidId : node.getPrimaryPathwayVertexRep().getDavidIDs()) {
        selectionManager.addToType(SelectionType.SELECTION,davidId);
      }
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.SELECTION);
      pathwayPathRenderer.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      if (!node.isPickable())       return;
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getGeneSelectionManager();
      EventBasedSelectionManager metaboliteSelectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      metaboliteSelectionManager.clearSelection(SelectionType.MOUSE_OVER);
      selectionManager.clearSelection(SelectionType.MOUSE_OVER);
      for (      Integer davidId : node.getPrimaryPathwayVertexRep().getDavidIDs()) {
        selectionManager.addToType(SelectionType.MOUSE_OVER,davidId);
      }
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.MOUSE_OVER);
      pathwayPathRenderer.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      if (!node.isPickable())       return;
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getGeneSelectionManager();
      for (      Integer davidId : node.getPrimaryPathwayVertexRep().getDavidIDs()) {
        selectionManager.removeFromType(SelectionType.MOUSE_OVER,davidId);
      }
      selectionManager.triggerSelectionUpdateEvent();
      pathwayPathRenderer.setDisplayListDirty();
    }
  }
;
  view.addIDPickingListener(pickingListener,EPickingType.LINEARIZABLE_NODE.name(),node.hashCode());
}