Program: 108572
Project: 108572
Buggy source:
/** 
 * Loads a specification
 */
private void load(){
  final String ERROR_HEADER="String_Node_Str";
  final String ERROR_TEXT="String_Node_Str";
  final String ERROR_RATIO_TEXT="String_Node_Str";
  final String ERROR_TYPE_TEXT="String_Node_Str";
  final String ERROR_APPLY_TEXT="String_Node_Str";
  String file=controller.actionShowOpenFileDialog(getShell(),"String_Node_Str");
  if (file == null)   return;
  HierarchyBuilder<T> builder=null;
  try {
    builder=HierarchyBuilder.create(file);
  }
 catch (  Exception e) {
    controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_TEXT + e.getMessage());
    return;
  }
  if (builder == null)   return;
 else   if (builder.getType() == Type.INTERVAL_BASED) {
    if (!(model.getDataType() instanceof DataTypeWithRatioScale)) {
      controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_RATIO_TEXT);
      return;
    }
 else     if (!((HierarchyBuilderIntervalBased<?>)builder).getDataType().equals(model.getDataType())) {
      controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_TYPE_TEXT);
      return;
    }
  }
 else   if (builder.getType() == Type.ORDER_BASED) {
    if (!((HierarchyBuilderOrderBased<?>)builder).getDataType().equals(model.getDataType())) {
      controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_TYPE_TEXT);
      return;
    }
  }
  try {
    model.setSpecification(builder);
  }
 catch (  Exception e) {
    controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_APPLY_TEXT + e.getMessage());
    return;
  }
switch (builder.getType()) {
case INTERVAL_BASED:
    this.pageIntervals.updatePage();
  this.model.setType(Type.INTERVAL_BASED);
this.pageType.updatePage();
this.getContainer().showPage(pageIntervals);
break;
case ORDER_BASED:
this.pageOrder.updatePage();
this.model.setType(Type.ORDER_BASED);
this.pageType.updatePage();
this.getContainer().showPage(pageOrder);
break;
case REDACTION_BASED:
this.pageRedaction.updatePage();
this.model.setType(Type.REDACTION_BASED);
this.pageType.updatePage();
this.getContainer().showPage(pageRedaction);
break;
}
}

Fixed version (ground truth):
/** 
 * Loads a specification
 */
private void load(){
  final String ERROR_HEADER="String_Node_Str";
  final String ERROR_TEXT="String_Node_Str";
  final String ERROR_RATIO_TEXT="String_Node_Str";
  final String ERROR_TYPE_TEXT="String_Node_Str";
  final String ERROR_APPLY_TEXT="String_Node_Str";
  String file=controller.actionShowOpenFileDialog(getShell(),"String_Node_Str");
  if (file == null)   return;
  HierarchyBuilder<T> builder=null;
  try {
    builder=HierarchyBuilder.create(file);
  }
 catch (  Exception e) {
    controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_TEXT + e.getMessage());
    return;
  }
  if (builder == null)   return;
 else   if (builder.getType() == Type.INTERVAL_BASED) {
    if (!(model.getDataType() instanceof DataTypeWithRatioScale)) {
      controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_RATIO_TEXT);
      return;
    }
 else     if (!((HierarchyBuilderIntervalBased<?>)builder).getDataType().equals(model.getDataType())) {
      controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_TYPE_TEXT);
      return;
    }
  }
 else   if (builder.getType() == Type.ORDER_BASED) {
    if (!((HierarchyBuilderOrderBased<?>)builder).getDataType().equals(model.getDataType())) {
      controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_TYPE_TEXT);
      return;
    }
  }
  try {
    model.parse(builder);
  }
 catch (  Exception e) {
    controller.actionShowInfoDialog(getShell(),ERROR_HEADER,ERROR_APPLY_TEXT + e.getMessage());
    return;
  }
switch (builder.getType()) {
case INTERVAL_BASED:
    this.pageIntervals.updatePage();
  this.model.setType(Type.INTERVAL_BASED);
this.pageType.updatePage();
this.getContainer().showPage(pageIntervals);
break;
case ORDER_BASED:
this.pageOrder.updatePage();
this.model.setType(Type.ORDER_BASED);
this.pageType.updatePage();
this.getContainer().showPage(pageOrder);
break;
case REDACTION_BASED:
this.pageRedaction.updatePage();
this.model.setType(Type.REDACTION_BASED);
this.pageType.updatePage();
this.getContainer().showPage(pageRedaction);
break;
}
}