Program: 108305
Project: 108305
Buggy source:
/** 
 * This method adjusts the toolbar attached to the folder with criteria according to the current state of the model
 */
private void updateControlls(){
  root.setRedraw(false);
  ModelCriterion mc=null;
  if (folder.getSelectionIndex() == 0) {
    push.setEnabled(false);
    pull.setEnabled(false);
    mc=model.getKAnonymityModel();
  }
 else   if (folder.getSelectionIndex() == 1) {
    push.setEnabled(false);
    pull.setEnabled(false);
    mc=model.getDPresenceModel();
  }
 else   if (folder.getSelectionIndex() == 2) {
    mc=model.getLDiversityModel().get(model.getSelectedAttribute());
    if (mc != null && mc.isActive() && mc.isEnabled()) {
      push.setEnabled(true);
      pull.setEnabled(true);
    }
 else {
      push.setEnabled(false);
      pull.setEnabled(false);
    }
  }
 else   if (folder.getSelectionIndex() == 3) {
    mc=model.getTClosenessModel().get(model.getSelectedAttribute());
    push.setEnabled(true);
    pull.setEnabled(true);
    if (mc != null && mc.isActive() && mc.isEnabled()) {
      push.setEnabled(true);
      pull.setEnabled(true);
    }
 else {
      push.setEnabled(false);
      pull.setEnabled(false);
    }
  }
  if (mc == null) {
    root.setRedraw(true);
    return;
  }
  if (mc.isActive()) {
    enable.setEnabled(true);
    if (mc.isEnabled()) {
      enable.setImage(controller.getResources().getImage("String_Node_Str"));
    }
 else {
      enable.setImage(controller.getResources().getImage("String_Node_Str"));
    }
  }
 else {
    enable.setEnabled(false);
    enable.setImage(controller.getResources().getImage("String_Node_Str"));
  }
  this.precomputedVariant.setEnabled(true);
  this.precomputedVariant.setSelection(model.getMetricConfiguration().isPrecomputed());
  if (model.getMetricConfiguration().isPrecomputed()) {
    this.precomputationThreshold.setSelection(SWTUtil.doubleToSlider(0d,1d,model.getMetricConfiguration().getPrecomputationThreshold()));
    this.precomputationThreshold.setEnabled(true);
    this.labelThreshold.setText(String.valueOf(model.getMetricConfiguration().getPrecomputationThreshold()));
  }
 else {
    this.precomputationThreshold.setSelection(SWTUtil.doubleToSlider(0d,1d,model.getMetricConfiguration().getPrecomputationThreshold()));
    this.precomputationThreshold.setEnabled(false);
    this.labelThreshold.setText(String.valueOf(model.getMetricConfiguration().getPrecomputationThreshold()));
  }
  root.setRedraw(true);
}

Fixed version (ground truth):
/** 
 * This method adjusts the toolbar attached to the folder with criteria according to the current state of the model
 */
private void updateControlls(){
  ModelCriterion mc=null;
  if (folder.getSelectionIndex() == 0) {
    push.setEnabled(false);
    pull.setEnabled(false);
    mc=model.getKAnonymityModel();
  }
 else   if (folder.getSelectionIndex() == 1) {
    push.setEnabled(false);
    pull.setEnabled(false);
    mc=model.getDPresenceModel();
  }
 else   if (folder.getSelectionIndex() == 2) {
    mc=model.getLDiversityModel().get(model.getSelectedAttribute());
    if (mc != null && mc.isActive() && mc.isEnabled()) {
      push.setEnabled(true);
      pull.setEnabled(true);
    }
 else {
      push.setEnabled(false);
      pull.setEnabled(false);
    }
  }
 else   if (folder.getSelectionIndex() == 3) {
    mc=model.getTClosenessModel().get(model.getSelectedAttribute());
    push.setEnabled(true);
    pull.setEnabled(true);
    if (mc != null && mc.isActive() && mc.isEnabled()) {
      push.setEnabled(true);
      pull.setEnabled(true);
    }
 else {
      push.setEnabled(false);
      pull.setEnabled(false);
    }
  }
  if (mc == null) {
    return;
  }
  if (mc.isActive()) {
    enable.setEnabled(true);
    if (mc.isEnabled()) {
      enable.setImage(controller.getResources().getImage("String_Node_Str"));
    }
 else {
      enable.setImage(controller.getResources().getImage("String_Node_Str"));
    }
  }
 else {
    enable.setEnabled(false);
    enable.setImage(controller.getResources().getImage("String_Node_Str"));
  }
  this.precomputedVariant.setEnabled(true);
  this.precomputedVariant.setSelection(model.getMetricConfiguration().isPrecomputed());
  if (model.getMetricConfiguration().isPrecomputed()) {
    this.precomputationThreshold.setSelection(SWTUtil.doubleToSlider(0d,1d,model.getMetricConfiguration().getPrecomputationThreshold()));
    this.precomputationThreshold.setEnabled(true);
    this.labelThreshold.setText(String.valueOf(model.getMetricConfiguration().getPrecomputationThreshold()));
  }
 else {
    this.precomputationThreshold.setSelection(SWTUtil.doubleToSlider(0d,1d,model.getMetricConfiguration().getPrecomputationThreshold()));
    this.precomputationThreshold.setEnabled(false);
    this.labelThreshold.setText(String.valueOf(model.getMetricConfiguration().getPrecomputationThreshold()));
  }
}