Program: 58027
Project: 58027
Buggy source:
@Override public void init(GL2 gl){
  textRenderer=new CaleydoTextRenderer(24);
  baseDisplayListIndex=gl.glGenLists(1);
  if (set == null)   set=dataDomain.getSet();
  if (contentVA == null)   contentVA=set.getContentData(Set.CONTENT).getContentVA();
  if (storageVA == null)   storageVA=set.getStorageData(Set.STORAGE).getStorageVA();
  templateRenderer=new LayoutManager(viewFrustum);
  if (set.getSetType().equals(ESetDataType.NUMERIC)) {
    brickConfigurer=new NumericalDataConfigurer();
  }
 else {
    brickConfigurer=new NominalDataConfigurer();
  }
  if (brickLayout == null) {
    brickLayout=new DefaultBrickLayoutTemplate(this,visBricks,dimensionGroup,brickConfigurer);
  }
  brickConfigurer.setBrickViews(this,gl,glMouseListener,brickLayout);
  currentViewType=brickLayout.getDefaultViewType();
  brickLayout.setViewRenderer(containedViewRenderers.get(currentViewType));
  currentRemoteView=views.get(currentRemoteView);
  templateRenderer.setTemplate(brickLayout);
  float minSize=getParentGLCanvas().getPixelGLConverter().getGLHeightForPixelHeight(brickLayout.getMinHeightPixels());
  wrappingLayout.setAbsoluteSizeY(minSize);
  templateRenderer.updateLayout();
  addPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      SelectionType currentSelectionType=contentGroupSelectionManager.getSelectionType();
      contentGroupSelectionManager.clearSelection(currentSelectionType);
      contentGroupSelectionManager.addToType(currentSelectionType,group.getID());
      SelectionUpdateEvent event=new SelectionUpdateEvent();
      event.setDataDomainType(getDataDomain().getDataDomainType());
      event.setSender(this);
      SelectionDelta delta=contentGroupSelectionManager.getDelta();
      event.setSelectionDelta(delta);
      GeneralManager.get().getEventPublisher().triggerEvent(event);
      showHandles();
      selectElementsByGroup();
    }
    @Override public void mouseOver(    Pick pick){
      showHandles();
    }
    public void showHandles(){
      if (brickLayout.isShowHandles())       return;
      ArrayList<DimensionGroup> dimensionGroups=dimensionGroup.getVisBricksView().getDimensionGroupManager().getDimensionGroups();
      for (      DimensionGroup dimensionGroup : dimensionGroups) {
        dimensionGroup.hideHandles();
      }
      if (!brickLayout.isShowHandles()) {
        brickLayout.setShowHandles(true);
        templateRenderer.updateLayout();
      }
    }
  }
,EPickingType.BRICK,getID());
}

Fixed version (ground truth):
@Override public void init(GL2 gl){
  textRenderer=new CaleydoTextRenderer(24);
  baseDisplayListIndex=gl.glGenLists(1);
  if (set == null)   set=dataDomain.getSet();
  if (contentVA == null)   contentVA=set.getContentData(Set.CONTENT).getContentVA();
  if (storageVA == null)   storageVA=set.getStorageData(Set.STORAGE).getStorageVA();
  templateRenderer=new LayoutManager(viewFrustum);
  if (set.getSetType().equals(ESetDataType.NUMERIC)) {
    brickConfigurer=new NumericalDataConfigurer();
  }
 else {
    brickConfigurer=new NominalDataConfigurer();
  }
  if (brickLayout == null) {
    brickLayout=new DefaultBrickLayoutTemplate(this,visBricks,dimensionGroup,brickConfigurer);
  }
  brickConfigurer.setBrickViews(this,gl,glMouseListener,brickLayout);
  currentViewType=brickLayout.getDefaultViewType();
  brickLayout.setViewRenderer(containedViewRenderers.get(currentViewType));
  currentRemoteView=views.get(currentRemoteView);
  templateRenderer.setTemplate(brickLayout);
  float minSize=getParentGLCanvas().getPixelGLConverter().getGLHeightForPixelHeight(brickLayout.getMinHeightPixels());
  wrappingLayout.setAbsoluteSizeY(minSize);
  templateRenderer.updateLayout();
  addPickingListener(new APickingListener(){
    @Override public void clicked(    Pick pick){
      SelectionType currentSelectionType=contentGroupSelectionManager.getSelectionType();
      contentGroupSelectionManager.clearSelection(currentSelectionType);
      contentGroupSelectionManager.addToType(currentSelectionType,group.getID());
      SelectionUpdateEvent event=new SelectionUpdateEvent();
      event.setDataDomainType(getDataDomain().getDataDomainType());
      event.setSender(this);
      SelectionDelta delta=contentGroupSelectionManager.getDelta();
      event.setSelectionDelta(delta);
      GeneralManager.get().getEventPublisher().triggerEvent(event);
      showHandles();
      selectElementsByGroup();
    }
    @Override public void mouseOver(    Pick pick){
      showHandles();
    }
    public void showHandles(){
      if (brickLayout.isShowHandles())       return;
      ArrayList<DimensionGroup> dimensionGroups=dimensionGroup.getVisBricksView().getDimensionGroupManager().getDimensionGroups();
      for (      DimensionGroup dimensionGroup : dimensionGroups) {
        dimensionGroup.hideHandles();
      }
      if (!brickLayout.isShowHandles()) {
        brickLayout.setShowHandles(true);
        templateRenderer.updateLayout();
      }
    }
  }
,EPickingType.BRICK,getID());
  dimensionGroup.updateLayout();
}