Program: 58165
Project: 58165
Buggy source:
/** 
 * Constructor.
 * @param glCanvas
 * @param sLabel
 * @param viewFrustum
 */
public GLTreeMap(GLCaleydoCanvas glCanvas,final ViewFrustum viewFrustum){
  super(glCanvas,viewFrustum,true);
  viewType=GLTreeMap.VIEW_ID;
  colorMapper=ColorMappingManager.get().getColorMapping(EColorMappingType.GENE_EXPRESSION);
  parentGLCanvas.addMouseListener(new MouseAdapter(){
    public void mousePressed(    MouseEvent e){
      if (e.getButton() == MouseEvent.BUTTON1) {
        treeSelectionManager.clearSelection(SelectionType.SELECTION);
        treeSelectionManager.addToType(SelectionType.SELECTION,mouseOverClusterId);
        bIsMouseWheeleUsed=true;
      }
    }
    public void mouseReleased(    MouseEvent e){
      if (e.getButton() == MouseEvent.BUTTON1) {
        bIsMouseWheeleUsed=false;
      }
    }
  }
);
  parentGLCanvas.addMouseWheelListener(new MouseWheelListener(){
    @Override public void mouseWheelMoved(    MouseWheelEvent e){
      if (bIsMouseWheeleUsed) {
        System.out.println("String_Node_Str" + e.getWheelRotation());
        if (e.getWheelRotation() > 0) {
          ATreeMapNode node=treeMapModel.getNodeByNumber(mouseOverClusterId);
          mouseWheeleSelectionHeight++;
          System.out.println("String_Node_Str" + node.selectionLevel);
          ATreeMapNode parent=node.getParentWithLevel(node.getHierarchyLevel() - mouseWheeleSelectionHeight);
          if (parent != null) {
            treeSelectionManager.clearSelection(SelectionType.SELECTION);
            treeSelectionManager.addToType(SelectionType.SELECTION,parent.getID());
          }
 else {
            mouseWheeleSelectionHeight--;
          }
        }
 else {
          ATreeMapNode node=treeMapModel.getNodeByNumber(mouseOverClusterId);
          if (mouseWheeleSelectionHeight > 0) {
            mouseWheeleSelectionHeight--;
            ATreeMapNode parent;
            if (mouseWheeleSelectionHeight == 0)             parent=node;
 else             parent=node.getParentWithLevel(node.getHierarchyLevel() - mouseWheeleSelectionHeight);
            treeSelectionManager.clearSelection(SelectionType.SELECTION);
            treeSelectionManager.addToType(SelectionType.SELECTION,parent.getID());
          }
        }
        setHighLichtingListDirty();
      }
    }
  }
);
}

Fixed version (ground truth):
/** 
 * Constructor.
 * @param glCanvas
 * @param sLabel
 * @param viewFrustum
 */
public GLTreeMap(GLCaleydoCanvas glCanvas,final ViewFrustum viewFrustum){
  super(glCanvas,viewFrustum,true);
  viewType=GLTreeMap.VIEW_ID;
  colorMapper=ColorMappingManager.get().getColorMapping(EColorMappingType.GENE_EXPRESSION);
  parentGLCanvas.addMouseListener(new MouseAdapter(){
    public void mousePressed(    MouseEvent e){
      if (e.getButton() == MouseEvent.BUTTON1) {
        treeSelectionManager.clearSelection(SelectionType.SELECTION);
        treeSelectionManager.addToType(SelectionType.SELECTION,mouseOverClusterId);
        bIsMouseWheeleUsed=true;
        mouseWheeleSelectionHeight=0;
      }
    }
    public void mouseReleased(    MouseEvent e){
      if (e.getButton() == MouseEvent.BUTTON1) {
        bIsMouseWheeleUsed=false;
      }
    }
  }
);
  parentGLCanvas.addMouseWheelListener(new MouseWheelListener(){
    @Override public void mouseWheelMoved(    MouseWheelEvent e){
      if (bIsMouseWheeleUsed) {
        if (e.getWheelRotation() > 0) {
          ATreeMapNode node=treeMapModel.getNodeByNumber(mouseOverClusterId);
          mouseWheeleSelectionHeight++;
          ATreeMapNode parent=node.getParentWithLevel(node.getHierarchyLevel() - mouseWheeleSelectionHeight);
          if (parent != null) {
            treeSelectionManager.clearSelection(SelectionType.SELECTION);
            treeSelectionManager.addToType(SelectionType.SELECTION,parent.getID());
          }
 else {
            mouseWheeleSelectionHeight--;
          }
        }
 else {
          ATreeMapNode node=treeMapModel.getNodeByNumber(mouseOverClusterId);
          if (mouseWheeleSelectionHeight > 0) {
            mouseWheeleSelectionHeight--;
            ATreeMapNode parent;
            if (mouseWheeleSelectionHeight == 0)             parent=node;
 else             parent=node.getParentWithLevel(node.getHierarchyLevel() - mouseWheeleSelectionHeight);
            treeSelectionManager.clearSelection(SelectionType.SELECTION);
            treeSelectionManager.addToType(SelectionType.SELECTION,parent.getID());
          }
        }
        setHighLichtingListDirty();
      }
    }
  }
);
}