Program: 108821
Project: 108821
Buggy source:
/** 
 * Creates the view
 * @param parent
 */
private void create(final Composite parent){
  final IView outer=this;
  final Label tableItem1=new Label(parent,SWT.NONE);
  tableItem1.setText(Resources.getMessage("String_Node_Str"));
  attribute=new Combo(parent,SWT.BORDER);
  attribute.pack();
  attribute.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  attribute.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (attribute.getSelectionIndex() != -1) {
        if (result != null) {
          createGeneralization(result.getLattice().getBottom().getQuasiIdentifyingAttributes()[attribute.getSelectionIndex()]);
        }
      }
    }
  }
);
  generalization=new Table(parent,SWT.CHECK | SWT.BORDER | SWT.V_SCROLL| SWT.SINGLE);
  final GridData d=SWTUtil.createFillVerticallyGridData();
  d.verticalSpan=6;
  generalization.setLayoutData(d);
  generalization.setHeaderVisible(true);
  generalization.setLinesVisible(true);
  final TableColumn col=new TableColumn(generalization,SWT.NONE);
  col.setText(Resources.getMessage("String_Node_Str"));
  col.pack();
  generalization.pack();
  generalization.addListener(SWT.Selection,new Listener(){
    @Override public void handleEvent(    Event event){
      if (event.detail == SWT.CHECK && event.item instanceof TableItem) {
        if (filter != null) {
          final int level=generalization.indexOf((TableItem)event.item);
          if (generalization.getItems()[level].getChecked()) {
            filter.allowGeneralization(selectedDimension,level);
          }
 else {
            filter.disallowGeneralization(selectedDimension,level);
          }
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem2=new Label(parent,SWT.NONE);
  tableItem2.setText(Resources.getMessage("String_Node_Str"));
  anonymous=new Combo(parent,SWT.BORDER);
  anonymous.add(Resources.getMessage("String_Node_Str"));
  anonymous.add(Resources.getMessage("String_Node_Str"));
  anonymous.pack();
  anonymous.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  anonymous.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        if (anonymous.getSelectionIndex() == 0) {
          filter.allowAnonymous();
        }
 else {
          filter.disallowAnonymous();
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem3=new Label(parent,SWT.NONE);
  tableItem3.setText(Resources.getMessage("String_Node_Str"));
  notanonymous=new Combo(parent,SWT.BORDER);
  notanonymous.add(Resources.getMessage("String_Node_Str"));
  notanonymous.add(Resources.getMessage("String_Node_Str"));
  notanonymous.pack();
  notanonymous.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  notanonymous.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        if (notanonymous.getSelectionIndex() == 0) {
          filter.allowNonAnonymous();
        }
 else {
          filter.disallowNonAnonymous();
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem4=new Label(parent,SWT.NONE);
  tableItem4.setText(Resources.getMessage("String_Node_Str"));
  unknown=new Combo(parent,SWT.BORDER);
  unknown.add(Resources.getMessage("String_Node_Str"));
  unknown.add(Resources.getMessage("String_Node_Str"));
  unknown.pack();
  unknown.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  unknown.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        if (unknown.getSelectionIndex() == 0) {
          filter.allowUnknown();
        }
 else {
          filter.disallowUnknown();
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem5=new Label(parent,SWT.NONE);
  tableItem5.setText(Resources.getMessage("String_Node_Str"));
  min=new Scale(parent,SWT.HORIZONTAL);
  min.setMaximum(SCALE_MAX_VALUE);
  min.setMinimum(0);
  min.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  min.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        filter.allowInformationLoss(intToInformationLoss(min.getSelection()),filter.getAllowedMaxInformationLoss());
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem6=new Label(parent,SWT.NONE);
  tableItem6.setText(Resources.getMessage("String_Node_Str"));
  max=new Scale(parent,SWT.HORIZONTAL);
  max.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  max.setMaximum(SCALE_MAX_VALUE);
  max.setMinimum(0);
  max.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        filter.allowInformationLoss(filter.getAllowedMinInformationLoss(),intToInformationLoss(max.getSelection()));
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
}

Fixed version (ground truth):
/** 
 * Creates the view
 * @param parent
 */
private void create(final Composite parent){
  final IView outer=this;
  final Label tableItem1=new Label(parent,SWT.NONE);
  tableItem1.setText(Resources.getMessage("String_Node_Str"));
  attribute=new Combo(parent,SWT.BORDER);
  attribute.pack();
  attribute.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  attribute.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (attribute.getSelectionIndex() != -1) {
        if (result != null) {
          createGeneralization(result.getLattice().getBottom().getQuasiIdentifyingAttributes()[attribute.getSelectionIndex()]);
        }
      }
    }
  }
);
  generalization=new Table(parent,SWT.CHECK | SWT.BORDER | SWT.V_SCROLL| SWT.SINGLE);
  final GridData d=SWTUtil.createFillVerticallyGridData();
  d.verticalSpan=6;
  generalization.setLayoutData(d);
  generalization.setHeaderVisible(true);
  generalization.setLinesVisible(true);
  final TableColumn col=new TableColumn(generalization,SWT.NONE);
  col.setText(Resources.getMessage("String_Node_Str"));
  col.pack();
  generalization.pack();
  generalization.addListener(SWT.Selection,new Listener(){
    @Override public void handleEvent(    Event event){
      if (event.detail == SWT.CHECK && event.item instanceof TableItem) {
        if (filter != null) {
          final int level=generalization.indexOf((TableItem)event.item);
          if (generalization.getItems()[level].getChecked()) {
            filter.allowGeneralization(selectedDimension,level);
          }
 else {
            filter.disallowGeneralization(selectedDimension,level);
          }
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem2=new Label(parent,SWT.NONE);
  tableItem2.setText(Resources.getMessage("String_Node_Str"));
  anonymous=new Combo(parent,SWT.BORDER);
  anonymous.add(Resources.getMessage("String_Node_Str"));
  anonymous.add(Resources.getMessage("String_Node_Str"));
  anonymous.pack();
  anonymous.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  anonymous.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        if (anonymous.getSelectionIndex() == 0) {
          filter.allowAnonymous();
        }
 else {
          filter.disallowAnonymous();
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem3=new Label(parent,SWT.NONE);
  tableItem3.setText(Resources.getMessage("String_Node_Str"));
  notanonymous=new Combo(parent,SWT.BORDER);
  notanonymous.add(Resources.getMessage("String_Node_Str"));
  notanonymous.add(Resources.getMessage("String_Node_Str"));
  notanonymous.pack();
  notanonymous.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  notanonymous.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        if (notanonymous.getSelectionIndex() == 0) {
          filter.allowNonAnonymous();
        }
 else {
          filter.disallowNonAnonymous();
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem4=new Label(parent,SWT.NONE);
  tableItem4.setText(Resources.getMessage("String_Node_Str"));
  unknown=new Combo(parent,SWT.BORDER);
  unknown.add(Resources.getMessage("String_Node_Str"));
  unknown.add(Resources.getMessage("String_Node_Str"));
  unknown.pack();
  unknown.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  unknown.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        if (unknown.getSelectionIndex() == 0) {
          filter.allowUnknown();
        }
 else {
          filter.disallowUnknown();
        }
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem5=new Label(parent,SWT.NONE);
  tableItem5.setText(Resources.getMessage("String_Node_Str"));
  min=new Scale(parent,SWT.HORIZONTAL);
  min.setMaximum(SCALE_MAX_VALUE);
  min.setMinimum(0);
  min.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  min.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        double minLoss=intToInformationLoss(min.getSelection());
        double maxLoss=filter.getAllowedMaxInformationLoss();
        filter.allowInformationLoss(minLoss,maxLoss);
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
  final Label tableItem6=new Label(parent,SWT.NONE);
  tableItem6.setText(Resources.getMessage("String_Node_Str"));
  max=new Scale(parent,SWT.HORIZONTAL);
  max.setLayoutData(SWTUtil.createFillHorizontallyGridData());
  max.setMaximum(SCALE_MAX_VALUE);
  max.setMinimum(0);
  max.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    final SelectionEvent arg0){
      if (filter != null) {
        filter.allowInformationLoss(filter.getAllowedMinInformationLoss(),intToInformationLoss(max.getSelection()));
        controller.update(new ModelEvent(outer,ModelPart.FILTER,filter));
      }
    }
  }
);
}