Program: 58985
Project: 58985
Buggy source:
@Override protected void handleEvents(EPickingType ePickingType,EPickingMode pickingMode,int iExternalID,Pick pick){
  if (detailLevel == EDetailLevel.VERY_LOW) {
    pickingManager.flushHits(iUniqueID,ePickingType);
    return;
  }
switch (ePickingType) {
case HIER_HEAT_MAP_TEXTURE_CURSOR:
switch (pickingMode) {
case CLICKED:
      if (iExternalID == 1) {
        if (iSelectorBar != 1) {
          iSelectorBar--;
          initPosCursor();
          triggerSelectionBlock();
          setDisplayListDirty();
        }
      }
    if (iExternalID == 2) {
      if (iSelectorBar != iNrSelBar) {
        iSelectorBar++;
        initPosCursor();
        triggerSelectionBlock();
        setDisplayListDirty();
      }
    }
  setDisplayListDirty();
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_CURSOR:
switch (pickingMode) {
case CLICKED:
bRenderCaption=true;
setDisplayListDirty();
break;
case DRAGGED:
bRenderCaption=true;
bIsDraggingActive=true;
iDraggedCursor=iExternalID;
setDisplayListDirty();
break;
case MOUSE_OVER:
bRenderCaption=true;
setDisplayListDirty();
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_INFOCUS_SELECTION:
switch (pickingMode) {
case CLICKED:
bIsHeatmapInFocus=true;
glHeatMapView.setDisplayListDirty();
setDisplayListDirty();
break;
case MOUSE_OVER:
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_TEXTURE_SELECTION:
switch (pickingMode) {
case CLICKED:
iSelectorBar=iExternalID;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
break;
case MOUSE_OVER:
iSelectorBar=iExternalID;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_FIELD_SELECTION:
switch (pickingMode) {
case CLICKED:
bIsHeatmapInFocus=false;
PickingPoint=pick.getPickedPoint();
triggerSelectionBlock();
setDisplayListDirty();
break;
case MOUSE_OVER:
PickingPoint=pick.getPickedPoint();
triggerSelectionBlock();
setDisplayListDirty();
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_VIEW_SELECTION:
switch (pickingMode) {
case MOUSE_OVER:
break;
case CLICKED:
bIsHeatmapInFocus=true;
glHeatMapView.setDisplayListDirty();
setDisplayListDirty();
break;
case DRAGGED:
break;
}
pickingManager.flushHits(iUniqueID,EPickingType.HIER_HEAT_MAP_VIEW_SELECTION);
break;
}
}

Fixed version (ground truth):
@Override protected void handleEvents(EPickingType ePickingType,EPickingMode pickingMode,int iExternalID,Pick pick){
  if (detailLevel == EDetailLevel.VERY_LOW) {
    pickingManager.flushHits(iUniqueID,ePickingType);
    return;
  }
switch (ePickingType) {
case HIER_HEAT_MAP_TEXTURE_CURSOR:
switch (pickingMode) {
case CLICKED:
      if (iExternalID == 1) {
        if (iSelectorBar != 1) {
          iSelectorBar--;
          initPosCursor();
          triggerSelectionBlock();
          setDisplayListDirty();
        }
      }
    if (iExternalID == 2) {
      if (iSelectorBar != iNrSelBar) {
        iSelectorBar++;
        initPosCursor();
        triggerSelectionBlock();
        setDisplayListDirty();
      }
    }
  setDisplayListDirty();
break;
case DRAGGED:
break;
case MOUSE_OVER:
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_CURSOR:
switch (pickingMode) {
case CLICKED:
bRenderCaption=true;
setDisplayListDirty();
break;
case DRAGGED:
bRenderCaption=true;
bIsDraggingActive=true;
iDraggedCursor=iExternalID;
setDisplayListDirty();
break;
case MOUSE_OVER:
bRenderCaption=true;
setDisplayListDirty();
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_TEXTURE_SELECTION:
switch (pickingMode) {
case CLICKED:
iSelectorBar=iExternalID;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
break;
case MOUSE_OVER:
iSelectorBar=iExternalID;
initPosCursor();
triggerSelectionBlock();
setDisplayListDirty();
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_FIELD_SELECTION:
switch (pickingMode) {
case CLICKED:
bIsHeatmapInFocus=false;
PickingPoint=pick.getPickedPoint();
triggerSelectionBlock();
setDisplayListDirty();
break;
case MOUSE_OVER:
PickingPoint=pick.getPickedPoint();
triggerSelectionBlock();
setDisplayListDirty();
break;
}
pickingManager.flushHits(iUniqueID,ePickingType);
break;
case HIER_HEAT_MAP_VIEW_SELECTION:
switch (pickingMode) {
case MOUSE_OVER:
break;
case CLICKED:
bIsHeatmapInFocus=true;
glHeatMapView.setDisplayListDirty();
setDisplayListDirty();
break;
case DRAGGED:
break;
}
pickingManager.flushHits(iUniqueID,EPickingType.HIER_HEAT_MAP_VIEW_SELECTION);
break;
}
}