Program: 108092
Project: 108092
Buggy source:
/** 
 * Updates the combos.
 */
private void updateMinMax(){
  if (model == null || model.getInputConfig() == null || cmbMin == null || cmbMin.isDisposed()) {
    return;
  }
  final List<String> minItems=new ArrayList<String>();
  final List<String> maxItems=new ArrayList<String>();
  minItems.add(ITEM_ALL);
  int length=0;
  Hierarchy hierarchy=model.getInputConfig().getHierarchy(attribute);
  if (!(hierarchy == null || hierarchy.getHierarchy() == null || hierarchy.getHierarchy()[0] == null || hierarchy.getHierarchy()[0].length == 0)) {
    length=hierarchy.getHierarchy()[0].length;
  }
  for (int i=0; i < length; i++) {
    minItems.add(String.valueOf(i));
    maxItems.add(String.valueOf(i));
  }
  maxItems.add(ITEM_ALL);
  Integer minModel=model.getInputConfig().getMinimumGeneralization(attribute);
  int minIndex=minModel != null ? minModel + 1 : 0;
  Integer maxModel=model.getInputConfig().getMaximumGeneralization(attribute);
  int maxIndex=maxModel != null ? maxModel : maxItems.size() - 1;
  maxIndex=maxIndex > maxItems.size() - 1 ? maxItems.size() - 1 : maxIndex;
  maxIndex=maxIndex < 0 ? maxItems.size() - 1 : maxIndex;
  minIndex=minIndex > minItems.size() - 1 ? minItems.size() - 1 : minIndex;
  minIndex=minIndex < 0 ? 0 : minIndex;
  minIndex=minIndex > (maxIndex + 1) ? maxIndex + 1 : minIndex;
  cmbMin.setItems(minItems.toArray(new String[minItems.size()]));
  cmbMax.setItems(maxItems.toArray(new String[maxItems.size()]));
  cmbMin.select(minIndex);
  cmbMax.select(maxIndex);
  actionMinChanged();
  actionMaxChanged();
}

Fixed version (ground truth):
/** 
 * Updates the combos.
 */
private void updateMinMax(){
  if (model == null || model.getInputConfig() == null || cmbMin == null || cmbMin.isDisposed()) {
    return;
  }
  final List<String> minItems=new ArrayList<String>();
  final List<String> maxItems=new ArrayList<String>();
  minItems.add(ITEM_ALL);
  int length=0;
  Hierarchy hierarchy=model.getInputConfig().getHierarchy(attribute);
  if (!(hierarchy == null || hierarchy.getHierarchy() == null || hierarchy.getHierarchy().length == 0 || hierarchy.getHierarchy()[0] == null || hierarchy.getHierarchy()[0].length == 0)) {
    length=hierarchy.getHierarchy()[0].length;
  }
  for (int i=0; i < length; i++) {
    minItems.add(String.valueOf(i));
    maxItems.add(String.valueOf(i));
  }
  maxItems.add(ITEM_ALL);
  Integer minModel=model.getInputConfig().getMinimumGeneralization(attribute);
  int minIndex=minModel != null ? minModel + 1 : 0;
  Integer maxModel=model.getInputConfig().getMaximumGeneralization(attribute);
  int maxIndex=maxModel != null ? maxModel : maxItems.size() - 1;
  maxIndex=maxIndex > maxItems.size() - 1 ? maxItems.size() - 1 : maxIndex;
  maxIndex=maxIndex < 0 ? maxItems.size() - 1 : maxIndex;
  minIndex=minIndex > minItems.size() - 1 ? minItems.size() - 1 : minIndex;
  minIndex=minIndex < 0 ? 0 : minIndex;
  minIndex=minIndex > (maxIndex + 1) ? maxIndex + 1 : minIndex;
  cmbMin.setItems(minItems.toArray(new String[minItems.size()]));
  cmbMax.setItems(maxItems.toArray(new String[maxItems.size()]));
  cmbMin.select(minIndex);
  cmbMax.select(maxIndex);
  actionMinChanged();
  actionMaxChanged();
}