Program: 57739
Project: 57739
Buggy source:
protected void registerPickingListeners(){
  parentView.addTypePickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      geneSelectionManager.clearSelection(SelectionType.SELECTION);
      geneSelectionManager.addToType(SelectionType.SELECTION,pick.getObjectID());
      geneSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      geneSelectionManager.addToType(SelectionType.MOUSE_OVER,pick.getObjectID());
      geneSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      geneSelectionManager.removeFromType(SelectionType.MOUSE_OVER,pick.getObjectID());
      parentView.setDisplayListDirty();
    }
  }
,PickingType.GENE.name());
  parentView.addTypePickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      sampleSelectionManager.clearSelection(SelectionType.SELECTION);
      sampleSelectionManager.addToType(SelectionType.SELECTION,pick.getObjectID());
      sampleSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      sampleSelectionManager.addToType(SelectionType.MOUSE_OVER,pick.getObjectID());
      sampleSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      sampleSelectionManager.removeFromType(SelectionType.MOUSE_OVER,pick.getObjectID());
      parentView.setDisplayListDirty();
    }
  }
,PickingType.SAMPLE.name());
  parentView.addTypePickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      sampleGroupSelectionManager.clearSelection(SelectionType.SELECTION);
      sampleGroupSelectionManager.addToType(SelectionType.SELECTION,pick.getObjectID());
      sampleGroupSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      sampleGroupSelectionManager.addToType(SelectionType.MOUSE_OVER,pick.getObjectID());
      sampleGroupSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      sampleGroupSelectionManager.removeFromType(SelectionType.MOUSE_OVER,pick.getObjectID());
      parentView.setDisplayListDirty();
    }
  }
,PickingType.SAMPLE_GROUP.name());
}

Fixed version (ground truth):
protected void registerPickingListeners(){
  parentView.addTypePickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      geneSelectionManager.clearSelection(SelectionType.SELECTION);
      geneSelectionManager.addToType(SelectionType.SELECTION,pick.getObjectID());
      geneSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      geneSelectionManager.addToType(SelectionType.MOUSE_OVER,pick.getObjectID());
      geneSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      geneSelectionManager.removeFromType(SelectionType.MOUSE_OVER,pick.getObjectID());
      geneSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
  }
,PickingType.GENE.name());
  parentView.addTypePickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      sampleSelectionManager.clearSelection(SelectionType.SELECTION);
      sampleSelectionManager.addToType(SelectionType.SELECTION,pick.getObjectID());
      sampleSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      sampleSelectionManager.addToType(SelectionType.MOUSE_OVER,pick.getObjectID());
      sampleSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      sampleSelectionManager.removeFromType(SelectionType.MOUSE_OVER,pick.getObjectID());
      sampleSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
  }
,PickingType.SAMPLE.name());
  parentView.addTypePickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      sampleGroupSelectionManager.clearSelection(SelectionType.SELECTION);
      sampleGroupSelectionManager.addToType(SelectionType.SELECTION,pick.getObjectID());
      sampleGroupSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOver(    Pick pick){
      sampleGroupSelectionManager.addToType(SelectionType.MOUSE_OVER,pick.getObjectID());
      sampleGroupSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
    @Override public void mouseOut(    Pick pick){
      sampleGroupSelectionManager.removeFromType(SelectionType.MOUSE_OVER,pick.getObjectID());
      sampleSelectionManager.triggerSelectionUpdateEvent();
      parentView.setDisplayListDirty();
    }
  }
,PickingType.SAMPLE_GROUP.name());
}