Program: 52777
Project: 52777
Buggy source:
private void addTaxonomyColumn(ShowHideColumnHelper support,final Taxonomy taxonomy){
  String name=taxonomy.getName();
  List<String> labels=taxonomy.getDimensions();
  List<Integer> options=new ArrayList<Integer>();
  StringBuilder menuLabels=new StringBuilder("String_Node_Str");
  StringBuilder columnLabels=new StringBuilder("String_Node_Str");
  int heigth=taxonomy.getHeigth();
  for (int ii=1; ii < heigth; ii++) {
    options.add(ii);
    if (ii > 1) {
      menuLabels.append('|');
      columnLabels.append('|');
    }
    String label=null;
    if (labels != null && ii <= labels.size())     label=labels.get(ii - 1);
    menuLabels.append(ii).append('#');
    columnLabels.append(ii).append('#');
    if (label != null) {
      menuLabels.append(label);
      columnLabels.append(label);
    }
 else {
      menuLabels.append(MessageFormat.format(Messages.LabelLevelNumber,ii));
      columnLabels.append(MessageFormat.format(Messages.LabelLevelNameNumber,name,ii));
    }
  }
  options.add(100);
  menuLabels.append("String_Node_Str" + Messages.LabelFullClassification + "String_Node_Str");
  columnLabels.append("String_Node_Str").append(name).append("String_Node_Str");
  Column column=new Column(taxonomy.getId(),name,SWT.LEFT,120);
  column.setOptions(menuLabels.toString(),columnLabels.toString(),options.toArray(new Integer[0]));
  column.setLabelProvider(new OptionLabelProvider(){
    @Override public String getText(    Object e,    Integer option){
      Security security=(Security)e;
      List<Classification> classifications=taxonomy.getClassifications(security);
      if (classifications.isEmpty())       return null;
      StringBuilder answer=new StringBuilder();
      for (      Classification c : classifications) {
        if (answer.length() > 0)         answer.append("String_Node_Str");
switch (option) {
case 100:
          answer.append(c.getPathName(false));
        break;
default :
      List<Classification> path=c.getPathToRoot();
    if (option < path.size())     answer.append(path.get(option).getName());
}
}
return answer.toString();
}
}
);
column.setVisible(false);
support.addColumn(column);
}

Fixed version (ground truth):
private void addTaxonomyColumn(ShowHideColumnHelper support,final Taxonomy taxonomy){
  String name=taxonomy.getName();
  List<String> labels=taxonomy.getDimensions();
  List<Integer> options=new ArrayList<Integer>();
  StringBuilder menuLabels=new StringBuilder("String_Node_Str");
  StringBuilder columnLabels=new StringBuilder("String_Node_Str");
  int heigth=taxonomy.getHeigth();
  for (int ii=1; ii < heigth; ii++) {
    options.add(ii);
    if (ii > 1) {
      menuLabels.append('|');
      columnLabels.append('|');
    }
    String label=null;
    if (labels != null && ii <= labels.size())     label=labels.get(ii - 1);
    menuLabels.append(ii).append('#');
    columnLabels.append(ii).append('#');
    if (label != null) {
      menuLabels.append(label);
      columnLabels.append(label);
    }
 else {
      menuLabels.append(MessageFormat.format(Messages.LabelLevelNumber,ii));
      columnLabels.append(MessageFormat.format(Messages.LabelLevelNameNumber,name,ii));
    }
  }
  options.add(100);
  menuLabels.append("String_Node_Str" + Messages.LabelFullClassification + "String_Node_Str");
  columnLabels.append("String_Node_Str").append(name).append("String_Node_Str");
  Column column=new Column(taxonomy.getId(),name,SWT.LEFT,120);
  column.setOptions(menuLabels.toString(),columnLabels.toString(),options.toArray(new Integer[0]));
  column.setLabelProvider(new OptionLabelProvider(){
    @Override public String getText(    Object e,    Integer option){
      Security security=(Security)e;
      List<Classification> classifications=taxonomy.getClassifications(security);
      if (classifications.isEmpty())       return null;
      StringBuilder answer=new StringBuilder();
      for (      Classification c : classifications) {
        if (answer.length() > 0)         answer.append("String_Node_Str");
        if (option == 100) {
          answer.append(c.getPathName(false));
        }
 else {
          List<Classification> path=c.getPathToRoot();
          if (option < path.size())           answer.append(path.get(option).getName());
        }
      }
      return answer.toString();
    }
  }
);
  column.setVisible(false);
  support.addColumn(column);
}