Program: 58073
Project: 58073
Buggy source:
private void initLayoutRight(){
  rightColumnLayout=new Column("String_Node_Str");
  rightColumnLayout.setFrameColor(1,1,0,1);
  rightColumnLayout.setBottomUp(false);
  ElementLayout dimensionGroupSpacing=new ElementLayout("String_Node_Str");
  DimensionGroupSpacingRenderer dimensionGroupSpacingRenderer=new DimensionGroupSpacingRenderer();
  dimensionGroupSpacing.setRenderer(dimensionGroupSpacingRenderer);
  dimensionGroupSpacing.setPixelGLConverter(parentGLCanvas.getPixelGLConverter());
  dimensionGroupSpacing.setPixelSizeY(5);
  rightColumnLayout.appendElement(dimensionGroupSpacing);
  for (int dimensionGroupIndex=centerGroupEndIndex; dimensionGroupIndex < dimensionGroups.size(); dimensionGroupIndex++) {
    DimensionGroup group=dimensionGroups.get(dimensionGroupIndex);
    group.getLayout().setRatioSizeX(1);
    group.getLayout().setAbsoluteSizeY(archWidth);
    group.getLayout().setDebug(false);
    group.getLayout().updateSubLayout();
    group.setArchBounds(viewFrustum.getHeight(),ARCH_BOTTOM_PERCENT,ARCH_TOP_PERCENT - ARCH_BOTTOM_PERCENT,ARCH_BOTTOM_PERCENT);
    rightColumnLayout.appendElement(group.getLayout());
    group.setCollapsed(true);
    dimensionGroupSpacing=new ElementLayout("String_Node_Str");
    dimensionGroupSpacingRenderer=new DimensionGroupSpacingRenderer();
    dimensionGroupSpacing.setRenderer(dimensionGroupSpacingRenderer);
    dimensionGroupSpacing.setPixelGLConverter(parentGLCanvas.getPixelGLConverter());
    dimensionGroupSpacing.setPixelSizeY(DIMENSION_GROUP_SPACING);
    rightColumnLayout.appendElement(dimensionGroupSpacing);
  }
  rightLayout=new LayoutTemplate();
  rightLayout.setPixelGLConverter(parentGLCanvas.getPixelGLConverter());
  rightLayout.setBaseElementLayout(rightColumnLayout);
  ViewFrustum leftArchFrustum=new ViewFrustum(viewFrustum.getProjectionMode(),0,archWidth,0,archBottomY,0,1);
  rightLayoutManager=new LayoutManager(leftArchFrustum);
  rightLayoutManager.setTemplate(rightLayout);
  if (uninitializedDimensionGroups.size() == 0)   rightLayoutManager.updateLayout();
}

Fixed version (ground truth):
private void initLayoutRight(){
  rightColumnLayout=new Column("String_Node_Str");
  rightColumnLayout.setFrameColor(1,1,0,1);
  rightColumnLayout.setBottomUp(false);
  rightColumnLayout.setDebug(true);
  ElementLayout dimensionGroupSpacing=new ElementLayout("String_Node_Str");
  DimensionGroupSpacingRenderer dimensionGroupSpacingRenderer=new DimensionGroupSpacingRenderer();
  dimensionGroupSpacing.setRenderer(dimensionGroupSpacingRenderer);
  dimensionGroupSpacing.setPixelGLConverter(parentGLCanvas.getPixelGLConverter());
  dimensionGroupSpacing.setPixelSizeY(5);
  rightColumnLayout.appendElement(dimensionGroupSpacing);
  for (int dimensionGroupIndex=rightGroupStartIndex; dimensionGroupIndex < dimensionGroups.size(); dimensionGroupIndex++) {
    DimensionGroup group=dimensionGroups.get(dimensionGroupIndex);
    group.setCollapsed(true);
    group.getLayout().setRatioSizeX(1);
    group.getLayout().setAbsoluteSizeY(sideArchThickness);
    group.getLayout().setDebug(true);
    group.setArchBounds(0,0,0);
    rightColumnLayout.appendElement(group.getLayout());
    dimensionGroupSpacing=new ElementLayout("String_Node_Str");
    dimensionGroupSpacingRenderer=new DimensionGroupSpacingRenderer();
    dimensionGroupSpacing.setRenderer(dimensionGroupSpacingRenderer);
    dimensionGroupSpacing.setPixelGLConverter(parentGLCanvas.getPixelGLConverter());
    dimensionGroupSpacing.setPixelSizeY(DIMENSION_GROUP_SPACING);
    rightColumnLayout.appendElement(dimensionGroupSpacing);
  }
  rightLayout=new LayoutTemplate();
  rightLayout.setPixelGLConverter(parentGLCanvas.getPixelGLConverter());
  rightLayout.setBaseElementLayout(rightColumnLayout);
  ViewFrustum leftArchFrustum=new ViewFrustum(viewFrustum.getProjectionMode(),0,sideArchThickness,0,archBottomY,0,1);
  rightLayoutManager=new LayoutManager(leftArchFrustum);
  rightLayoutManager.setTemplate(rightLayout);
  rightLayoutManager.updateLayout();
}