Program: 57659
Project: 57659
Buggy source:
/** 
 * Shows a detailed brick.
 * @param brick The brick for which a detailed version shall be shown.
 * @param expandLeft Specifies, whether the detail brick shall be expanded on the left or on the right.
 */
public void showDetailedBrick(GLBrick brick,boolean expandLeft){
  if (detailBrick != null) {
    GeneralManager.get().getViewManager().unregisterGLView(detailBrick);
    detailBrick.unregisterEventListeners();
    detailBrick.destroy();
    detailBrick=null;
  }
  detailBrickLayout=new Column("String_Node_Str");
  detailBrick=createBrick(detailBrickLayout,brick.getDataContainer());
  detailBrick.setHeaderBrick(brick.isHeaderBrick());
  detailBrick.setBrickHeigthMode(EBrickHeightMode.STATIC);
  detailBrick.setBrickWidthMode(EBrickWidthMode.STATIC);
  int detailBrickWidth=getDetailBrickWidthPixels(!expandLeft);
  detailBrick.setStaticBrickWidth(detailBrickWidth);
  detailBrick.setStaticBrickHeight(getDetailBrickHeightPixels());
  detailBrick.setBrickLayoutTemplate(new DetailBrickLayoutTemplate(detailBrick,this,stratomex,detailBrick.getBrickConfigurer()),brick.getCurrentViewType());
  overviewDetailGapLayout=new ElementLayout("String_Node_Str");
  overviewDetailGapLayout.setPixelSizeX(OVERVIEW_DETAIL_GAP_PIXEL);
  overviewDetailGapLayout.setRatioSizeY(1);
  if (expandLeft) {
    overviewDetailGapLayout.setRenderer(new OverviewDetailBandRenderer(detailBrick,brick,false));
  }
 else {
    overviewDetailGapLayout.setRenderer(new OverviewDetailBandRenderer(brick,detailBrick,true));
  }
  DimensionGroup otherDetailDimensionGroup=getOtherDetailDimensionGroup(!expandLeft);
  if (otherDetailDimensionGroup != null && otherDetailDimensionGroup.isDetailBrickShown()) {
    otherDetailDimensionGroup.setDetailBrickWidth(detailBrickWidth);
  }
  showDetailBrick=true;
  this.expandLeft=expandLeft;
}

Fixed version (ground truth):
/** 
 * Shows a detailed brick.
 * @param brick The brick for which a detailed version shall be shown.
 * @param expandLeft Specifies, whether the detail brick shall be expanded on the left or on the right.
 */
public void showDetailedBrick(GLBrick brick,boolean expandLeft){
  if (detailBrick != null) {
    GeneralManager.get().getViewManager().unregisterGLView(detailBrick);
    detailBrick.unregisterEventListeners();
    detailBrick.destroy();
    detailBrick=null;
    if (this.expandLeft != expandLeft) {
      if (this.isDetailBrickShown && this.expandLeft)       stratomex.switchToOverviewModeLeft();
 else       if (this.isDetailBrickShown && !this.expandLeft)       stratomex.switchToOverviewModeRight();
    }
  }
  detailBrickLayout=new Column("String_Node_Str");
  detailBrick=createBrick(detailBrickLayout,brick.getDataContainer());
  detailBrick.setHeaderBrick(brick.isHeaderBrick());
  detailBrick.setBrickHeigthMode(EBrickHeightMode.STATIC);
  detailBrick.setBrickWidthMode(EBrickWidthMode.STATIC);
  int detailBrickWidth=getDetailBrickWidthPixels(!expandLeft);
  detailBrick.setStaticBrickWidth(detailBrickWidth);
  detailBrick.setStaticBrickHeight(getDetailBrickHeightPixels());
  detailBrick.setBrickLayoutTemplate(new DetailBrickLayoutTemplate(detailBrick,this,stratomex,detailBrick.getBrickConfigurer()),brick.getCurrentViewType());
  overviewDetailGapLayout=new ElementLayout("String_Node_Str");
  overviewDetailGapLayout.setPixelSizeX(OVERVIEW_DETAIL_GAP_PIXEL);
  overviewDetailGapLayout.setRatioSizeY(1);
  if (expandLeft) {
    overviewDetailGapLayout.setRenderer(new OverviewDetailBandRenderer(detailBrick,brick,false));
  }
 else {
    overviewDetailGapLayout.setRenderer(new OverviewDetailBandRenderer(brick,detailBrick,true));
  }
  DimensionGroup otherDetailDimensionGroup=getOtherDetailDimensionGroup(!expandLeft);
  if (otherDetailDimensionGroup != null && otherDetailDimensionGroup.isDetailBrickShown()) {
    otherDetailDimensionGroup.setDetailBrickWidth(detailBrickWidth);
  }
  showDetailBrick=true;
  this.expandLeft=expandLeft;
}