Program: 108664
Project: 108664
Buggy source:
/** 
 * File->Import hierarchy
 */
public void actionMenuFileImportHierarchy(){
  if (model == null) {
    main.showInfoDialog(main.getShell(),Resources.getMessage("String_Node_Str"),Resources.getMessage("String_Node_Str"));
    return;
  }
 else   if (model.getInputConfig().getInput() == null) {
    main.showInfoDialog(main.getShell(),Resources.getMessage("String_Node_Str"),Resources.getMessage("String_Node_Str"));
    return;
  }
  final String path=actionShowOpenFileDialog(main.getShell(),"String_Node_Str");
  if (path != null) {
    DialogSeparator dialog=null;
    try {
      dialog=new DialogSeparator(main.getShell(),this,path,false);
      dialog.create();
      if (dialog.open() == Window.CANCEL) {
        return;
      }
    }
 catch (    Throwable error) {
      if (error instanceof RuntimeException) {
        if (error.getCause() != null) {
          error=error.getCause();
        }
      }
      if ((error instanceof IllegalArgumentException) || (error instanceof IOException)) {
        main.showInfoDialog(main.getShell(),"String_Node_Str",error.getMessage());
      }
 else {
        main.showErrorDialog(main.getShell(),Resources.getMessage("String_Node_Str"),Resources.getMessage("String_Node_Str"),error);
      }
      return;
    }
    final char separator=dialog.getSeparator();
    final Hierarchy hierarchy=actionImportHierarchy(path,separator);
    if (hierarchy != null) {
      String attr=model.getSelectedAttribute();
      model.getInputConfig().setMaximumGeneralization(attr,null);
      model.getInputConfig().setMinimumGeneralization(attr,null);
      model.getInputConfig().setHierarchy(attr,hierarchy);
      update(new ModelEvent(this,ModelPart.HIERARCHY,hierarchy));
    }
  }
}

Fixed version (ground truth):
/** 
 * File->Import hierarchy
 */
public void actionMenuFileImportHierarchy(){
  if (model == null) {
    main.showInfoDialog(main.getShell(),Resources.getMessage("String_Node_Str"),Resources.getMessage("String_Node_Str"));
    return;
  }
 else   if (model.getInputConfig().getInput() == null) {
    main.showInfoDialog(main.getShell(),Resources.getMessage("String_Node_Str"),Resources.getMessage("String_Node_Str"));
    return;
  }
  final String path=actionShowOpenFileDialog(main.getShell(),"String_Node_Str");
  if (path != null) {
    DialogSeparator dialog=null;
    try {
      dialog=new DialogSeparator(main.getShell(),this,path,false);
      dialog.create();
      if (dialog.open() == Window.CANCEL) {
        return;
      }
    }
 catch (    Throwable error) {
      if (error instanceof RuntimeException) {
        if (error.getCause() != null) {
          error=error.getCause();
        }
      }
      if ((error instanceof IllegalArgumentException) || (error instanceof IOException)) {
        main.showInfoDialog(main.getShell(),"String_Node_Str",error.getMessage());
      }
 else {
        main.showErrorDialog(main.getShell(),Resources.getMessage("String_Node_Str"),error);
      }
      return;
    }
    final char separator=dialog.getSeparator();
    final Hierarchy hierarchy=actionImportHierarchy(path,separator);
    if (hierarchy != null) {
      String attr=model.getSelectedAttribute();
      model.getInputConfig().setMaximumGeneralization(attr,null);
      model.getInputConfig().setMinimumGeneralization(attr,null);
      model.getInputConfig().setHierarchy(attr,hierarchy);
      update(new ModelEvent(this,ModelPart.HIERARCHY,hierarchy));
    }
  }
}