Program: 57491
Project: 57491
Buggy source:
private void updateRankedList(){
  selectedTablePerspectiveIndex=0;
  updateScoredTablePerspectives();
  rankColumn.clear();
  rankedElementToElementLayout.clear();
  rankedElements=new ArrayList<RankedElement>();
  for (  TablePerspective scoredTablePerspective : tablePerspectives) {
    if (referenceTablePerspective.getRecordSubTablePerspectives().size() > 1) {
      float score=scoredTablePerspective.getContainerStatistics().getAdjustedRandIndex().getScore(referenceTablePerspective,true);
      RankedElement rankedElement=new RankedElement(score,scoredTablePerspective,null);
      rankedElements.add(rankedElement);
    }
 else {
      HashMap<TablePerspective,Float> subTablePerspectiveToScore=referenceTablePerspective.getContainerStatistics().getJaccardIndex().getScore(scoredTablePerspective,true);
      for (      TablePerspective subTablePerspective : subTablePerspectiveToScore.keySet()) {
        RankedElement rankedElement=new RankedElement(subTablePerspectiveToScore.get(subTablePerspective),scoredTablePerspective,subTablePerspective);
        rankedElements.add(rankedElement);
      }
    }
  }
  Collections.sort(rankedElements);
  int rank=0;
  for (  RankedElement rankedElement : rankedElements) {
    BigDecimal bd=new BigDecimal(rankedElement.getScore()).setScale(2,RoundingMode.HALF_EVEN);
    float score=bd.floatValue();
    Row rankedElementLayout=new Row("String_Node_Str");
    rankedElementLayout.setPixelSizeX(VENDING_MACHINE_PIXEL_WIDTH);
    rankedElementLayout.setPixelSizeY(30);
    RankNumberRenderer rankNumberRenderer=new RankNumberRenderer("String_Node_Str" + (++rank) + "String_Node_Str"+ score+ "String_Node_Str"+ rankedElement.getColumnTablePerspective().getDataDomain().getLabel()+ rankedElement.getColumnTablePerspective().getLabel()+ "String_Node_Str"+ rankedElement.getGroupTablePerspective().getLabel(),getTextRenderer());
    rankedElementLayout.setRenderer(rankNumberRenderer);
    rankedElementToElementLayout.put(rankedElement,rankedElementLayout);
    rankColumn.append(rankedElementLayout);
    if (rank >= MAX_RANKED_ELEMENTS)     break;
  }
  TablePerspective tablePerspective=rankedElements.get(selectedTablePerspectiveIndex).getColumnTablePerspective();
  addTablePerspectiveToStratomex(tablePerspective);
  brickColumnManager.moveBrickColumn(brickColumnManager.getBrickColumn(tablePerspective),brickColumnManager.indexOfBrickColumn(referenceBrickColumn) + 1);
  rankedElementToElementLayout.get(rankedElements.get(0)).addBackgroundRenderer(highlightRankBackgroundRenderer);
  stratomex.updateLayout();
  stratomex.setLayoutDirty();
}

Fixed version (ground truth):
private void updateRankedList(){
  selectedTablePerspectiveIndex=0;
  updateScoredTablePerspectives();
  rankColumn.clear();
  rankedElementToElementLayout.clear();
  rankedElements=new ArrayList<RankedElement>();
  for (  TablePerspective scoredTablePerspective : tablePerspectives) {
    if (referenceTablePerspective.getRecordSubTablePerspectives().size() > 1) {
      float score=scoredTablePerspective.getContainerStatistics().getAdjustedRandIndex().getScore(referenceTablePerspective,true);
      RankedElement rankedElement=new RankedElement(score,scoredTablePerspective,null);
      rankedElements.add(rankedElement);
    }
 else {
      HashMap<TablePerspective,Float> subTablePerspectiveToScore=referenceTablePerspective.getContainerStatistics().getJaccardIndex().getScore(scoredTablePerspective,true);
      for (      TablePerspective subTablePerspective : subTablePerspectiveToScore.keySet()) {
        RankedElement rankedElement=new RankedElement(subTablePerspectiveToScore.get(subTablePerspective),scoredTablePerspective,subTablePerspective);
        rankedElements.add(rankedElement);
      }
    }
  }
  Collections.sort(rankedElements);
  int rank=0;
  for (  RankedElement rankedElement : rankedElements) {
    BigDecimal bd=new BigDecimal(rankedElement.getScore()).setScale(2,RoundingMode.HALF_EVEN);
    float score=bd.floatValue();
    Row rankedElementLayout=new Row("String_Node_Str");
    rankedElementLayout.setPixelSizeX(VENDING_MACHINE_PIXEL_WIDTH);
    rankedElementLayout.setPixelSizeY(30);
    String rankString="String_Node_Str" + (++rank) + "String_Node_Str"+ score+ "String_Node_Str"+ rankedElement.getColumnTablePerspective().getDataDomain().getLabel()+ "String_Node_Str"+ rankedElement.getColumnTablePerspective().getRecordPerspective().getLabel();
    if (rankedElement.getGroupTablePerspective() != null)     rankString+="String_Node_Str" + rankedElement.getGroupTablePerspective().getLabel();
    RankNumberRenderer rankNumberRenderer=new RankNumberRenderer(rankString,getTextRenderer());
    rankedElementLayout.setRenderer(rankNumberRenderer);
    rankedElementToElementLayout.put(rankedElement,rankedElementLayout);
    rankColumn.append(rankedElementLayout);
    if (rank >= MAX_RANKED_ELEMENTS)     break;
  }
  TablePerspective tablePerspective=rankedElements.get(selectedTablePerspectiveIndex).getColumnTablePerspective();
  addTablePerspectiveToStratomex(tablePerspective);
  brickColumnManager.moveBrickColumn(brickColumnManager.getBrickColumn(tablePerspective),brickColumnManager.indexOfBrickColumn(referenceBrickColumn) + 1);
  rankedElementToElementLayout.get(rankedElements.get(0)).addBackgroundRenderer(highlightRankBackgroundRenderer);
  stratomex.updateLayout();
  stratomex.setLayoutDirty();
}