Program: 58867
Project: 58867
Buggy source:
@Override protected void handleEvents(EPickingType ePickingType,EPickingMode pickingMode,int iExternalID,Pick pick){
  if (detailLevel == EDetailLevel.VERY_LOW) {
    return;
  }
switch (ePickingType) {
case HIER_HEAT_MAP_GENES_GROUP:
switch (pickingMode) {
case CLICKED:
      set.getVA(iContentVAID).getGroupList().get(iExternalID).toggleSelectionType();
    setDisplayListDirty();
  break;
case DRAGGED:
if (bSplitGroupGene == false) {
  bSplitGroupGene=true;
  iGroupToSplit=iExternalID;
  DraggingPoint=pick.getPickedPoint();
}
setDisplayListDirty();
break;
case MOUSE_OVER:
System.out.print("String_Node_Str" + iExternalID);
System.out.print("String_Node_Str");
System.out.println(set.getVA(iContentVAID).getGroupList().get(iExternalID).getNrElements());
setDisplayListDirty();
break;
}
break;
case HIER_HEAT_MAP_EXPERIMENTS_GROUP:
switch (pickingMode) {
case CLICKED:
set.getVA(iStorageVAID).getGroupList().get(iExternalID).toggleSelectionType();
setDisplayListDirty();
break;
case DRAGGED:
if (bSplitGroupExp == false) {
bSplitGroupExp=true;
iGroupToSplit=iExternalID;
DraggingPoint=pick.getPickedPoint();
}
setDisplayListDirty();
break;
case MOUSE_OVER:
System.out.print("String_Node_Str" + iExternalID);
System.out.print("String_Node_Str");
System.out.println(set.getVA(iStorageVAID).getGroupList().get(iExternalID).getNrElements());
setDisplayListDirty();
break;
}
break;
case HIER_HEAT_MAP_INFOCUS_SELECTION:
switch (pickingMode) {
case CLICKED:
bIsHeatmapInFocus=bIsHeatmapInFocus == true ? false : true;
glHeatMapView.setDisplayListDirty();
setDisplayListDirty();
break;
}
break;
case HIER_HEAT_MAP_TEXTURE_CURSOR:
switch (pickingMode) {
case CLICKED:
if (bSkipLevel1 == false) {
if (iExternalID == 1) {
iSelectorBar--;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
}
if (iExternalID == 2) {
iSelectorBar++;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
}
setDisplayListDirty();
}
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_CURSOR:
switch (pickingMode) {
case CLICKED:
break;
case DRAGGED:
bIsDraggingActive=true;
iDraggedCursor=iExternalID;
setDisplayListDirty();
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_BLOCK_CURSOR:
switch (pickingMode) {
case CLICKED:
break;
case DRAGGED:
bIsDraggingWholeBlock=true;
iDraggedCursor=iExternalID;
setDisplayListDirty();
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_TEXTURE_SELECTION:
switch (pickingMode) {
case CLICKED:
if (bSkipLevel1 == false) {
iSelectorBar=iExternalID;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
}
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_FIELD_SELECTION:
switch (pickingMode) {
case CLICKED:
PickingPoint=pick.getPickedPoint();
triggerSelectionBlock();
setDisplayListDirty();
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_VIEW_SELECTION:
switch (pickingMode) {
case MOUSE_OVER:
break;
case CLICKED:
break;
case RIGHT_CLICKED:
contextMenu.setLocation(pick.getPickedPoint(),getParentGLCanvas().getWidth(),getParentGLCanvas().getHeight());
contextMenu.setMasterGLView(this);
break;
}
break;
}
}

Fixed version (ground truth):
@Override protected void handleEvents(EPickingType ePickingType,EPickingMode pickingMode,int iExternalID,Pick pick){
  if (detailLevel == EDetailLevel.VERY_LOW) {
    return;
  }
switch (ePickingType) {
case HIER_HEAT_MAP_GENES_GROUP:
switch (pickingMode) {
case CLICKED:
      set.getVA(iContentVAID).getGroupList().get(iExternalID).toggleSelectionType();
    setDisplayListDirty();
  break;
case DRAGGED:
if (bSplitGroupGene == false) {
  bSplitGroupGene=true;
  iGroupToSplit=iExternalID;
  DraggingPoint=pick.getPickedPoint();
}
setDisplayListDirty();
break;
case RIGHT_CLICKED:
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_EXPERIMENTS_GROUP:
switch (pickingMode) {
case CLICKED:
set.getVA(iStorageVAID).getGroupList().get(iExternalID).toggleSelectionType();
setDisplayListDirty();
break;
case DRAGGED:
if (bSplitGroupExp == false) {
bSplitGroupExp=true;
iGroupToSplit=iExternalID;
DraggingPoint=pick.getPickedPoint();
}
setDisplayListDirty();
break;
case MOUSE_OVER:
System.out.print("String_Node_Str" + iExternalID);
System.out.print("String_Node_Str");
System.out.println(set.getVA(iStorageVAID).getGroupList().get(iExternalID).getNrElements());
setDisplayListDirty();
break;
}
break;
case HIER_HEAT_MAP_INFOCUS_SELECTION:
switch (pickingMode) {
case CLICKED:
bIsHeatmapInFocus=bIsHeatmapInFocus == true ? false : true;
glHeatMapView.setDisplayListDirty();
setDisplayListDirty();
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_TEXTURE_CURSOR:
switch (pickingMode) {
case CLICKED:
if (bSkipLevel1 == false) {
if (iExternalID == 1) {
iSelectorBar--;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
}
if (iExternalID == 2) {
iSelectorBar++;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
}
setDisplayListDirty();
}
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_CURSOR:
switch (pickingMode) {
case CLICKED:
break;
case DRAGGED:
bIsDraggingActive=true;
iDraggedCursor=iExternalID;
setDisplayListDirty();
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_BLOCK_CURSOR:
switch (pickingMode) {
case CLICKED:
break;
case DRAGGED:
bIsDraggingWholeBlock=true;
iDraggedCursor=iExternalID;
setDisplayListDirty();
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_TEXTURE_SELECTION:
switch (pickingMode) {
case CLICKED:
if (bSkipLevel1 == false) {
iSelectorBar=iExternalID;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
}
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_FIELD_SELECTION:
switch (pickingMode) {
case CLICKED:
PickingPoint=pick.getPickedPoint();
triggerSelectionBlock();
setDisplayListDirty();
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
break;
case HIER_HEAT_MAP_VIEW_SELECTION:
switch (pickingMode) {
case CLICKED:
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
case RIGHT_CLICKED:
break;
}
break;
}
}