Program: 57313
Project: 57313
Buggy source:
@Override protected void init(){
  pickingListener=new APickingListener(){
    @Override public void clicked(    Pick pick){
      ALinearizableNode branchNode=node;
      while (branchNode.getParentNode() != null) {
        branchNode=branchNode.getParentNode();
      }
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      EventBasedSelectionManager geneSelectionManager=pathwayPathRenderer.getGeneSelectionManager();
      geneSelectionManager.clearSelection(SelectionType.MOUSE_OVER);
      selectionManager.clearSelection(SelectionType.MOUSE_OVER);
      pathwayPathRenderer.selectBranch(branchNode);
    }
    @Override public void mouseOver(    Pick pick){
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      selectionManager.clearSelection(SelectionType.MOUSE_OVER);
      selectionManager.addToType(SelectionType.MOUSE_OVER,node.getPrimaryPathwayVertexRep().getName().hashCode());
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.MOUSE_OVER);
      pathwayPathRenderer.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      selectionManager.removeFromType(SelectionType.MOUSE_OVER,node.getPrimaryPathwayVertexRep().getName().hashCode());
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.NORMAL);
      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;
      ALinearizableNode branchNode=node;
      while (branchNode.getParentNode() != null) {
        branchNode=branchNode.getParentNode();
      }
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      EventBasedSelectionManager geneSelectionManager=pathwayPathRenderer.getGeneSelectionManager();
      geneSelectionManager.clearSelection(SelectionType.MOUSE_OVER);
      selectionManager.clearSelection(SelectionType.MOUSE_OVER);
      pathwayPathRenderer.selectBranch(branchNode);
    }
    @Override public void mouseOver(    Pick pick){
      if (!node.isPickable())       return;
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      selectionManager.clearSelection(SelectionType.MOUSE_OVER);
      selectionManager.addToType(SelectionType.MOUSE_OVER,node.getPrimaryPathwayVertexRep().getName().hashCode());
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.MOUSE_OVER);
      pathwayPathRenderer.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      if (!node.isPickable())       return;
      EventBasedSelectionManager selectionManager=pathwayPathRenderer.getMetaboliteSelectionManager();
      selectionManager.removeFromType(SelectionType.MOUSE_OVER,node.getPrimaryPathwayVertexRep().getName().hashCode());
      selectionManager.triggerSelectionUpdateEvent();
      node.setSelectionType(SelectionType.NORMAL);
      pathwayPathRenderer.setDisplayListDirty();
    }
  }
;
  view.addIDPickingListener(pickingListener,EPickingType.LINEARIZABLE_NODE.name(),node.hashCode());
}