Program: 77109
Project: 77109
Buggy source:
protected Control createContents(Composite parent){
  UIUtil.bindHelp(parent,IHelpContextIds.INSERT_EDIT_MAP_RULE_DIALOG_ID);
  GridData gdata;
  GridLayout glayout;
  Composite contents=new Composite(parent,SWT.NONE);
  contents.setLayout(new GridLayout());
  contents.setLayoutData(new GridData(GridData.FILL_BOTH));
  createTitleArea(contents);
  Composite composite=new Composite(contents,SWT.NONE);
  glayout=new GridLayout();
  glayout.marginHeight=0;
  glayout.marginWidth=0;
  glayout.verticalSpacing=0;
  composite.setLayout(glayout);
  composite.setLayoutData(new GridData(GridData.FILL_BOTH));
  applyDialogFont(composite);
  initializeDialogUnits(composite);
  Composite innerParent=(Composite)createDialogArea(composite);
  createButtonBar(composite);
  Label lb=new Label(innerParent,SWT.NONE);
  lb.setText(Messages.getString("String_Node_Str"));
  Composite condition=new Composite(innerParent,SWT.NONE);
  condition.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  glayout=new GridLayout(5,false);
  condition.setLayout(glayout);
  expression=new Combo(condition,SWT.NONE);
  expression.add(VALUE_OF_THIS_DATA_ITEM);
  gdata=new GridData();
  gdata.widthHint=100;
  expression.setLayoutData(gdata);
  fillExpression(expression);
  expression.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (expression.getText().equals(VALUE_OF_THIS_DATA_ITEM) && designHandle instanceof DataItemHandle) {
        expression.setText(DEUtil.getColumnExpression(((DataItemHandle)designHandle).getResultSetColumn()));
      }
      updateButtons();
    }
  }
);
  expression.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      updateButtons();
    }
  }
);
  Button expBuilder=new Button(condition,SWT.PUSH);
  expBuilder.setText("String_Node_Str");
  gdata=new GridData();
  gdata.heightHint=20;
  gdata.widthHint=20;
  expBuilder.setLayoutData(gdata);
  expBuilder.setToolTipText(Messages.getString("String_Node_Str"));
  expBuilder.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editValue(expression);
    }
  }
);
  operator=new Combo(condition,SWT.READ_ONLY);
  for (int i=0; i < OPERATOR.length; i++) {
    operator.add(OPERATOR[i][0]);
  }
  operator.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      String value=getValueForOperator(operator.getText());
      int vv=determineValueVisible(value);
      if (vv == 0) {
        value1.setVisible(false);
        value2.setVisible(false);
        valBuilder1.setVisible(false);
        valBuilder2.setVisible(false);
        andLable.setVisible(false);
      }
 else       if (vv == 1) {
        value1.setVisible(true);
        valBuilder1.setVisible(true);
        value2.setVisible(false);
        valBuilder2.setVisible(false);
        andLable.setVisible(false);
      }
 else       if (vv == 2) {
        value1.setVisible(true);
        value2.setVisible(true);
        valBuilder1.setVisible(true);
        valBuilder2.setVisible(true);
        andLable.setVisible(true);
      }
      updateButtons();
    }
  }
);
  value1=createText(condition);
  value1.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      updateButtons();
    }
  }
);
  valBuilder1=new Button(condition,SWT.PUSH);
  valBuilder1.setText("String_Node_Str");
  gdata=new GridData();
  gdata.heightHint=20;
  gdata.widthHint=20;
  valBuilder1.setLayoutData(gdata);
  valBuilder1.setToolTipText(Messages.getString("String_Node_Str"));
  valBuilder1.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editValue(value1);
    }
  }
);
  createDummy(condition,3);
  andLable=new Label(condition,SWT.NONE);
  andLable.setText(Messages.getString("String_Node_Str"));
  andLable.setVisible(false);
  createDummy(condition,1);
  createDummy(condition,3);
  value2=createText(condition);
  value2.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      updateButtons();
    }
  }
);
  value2.setVisible(false);
  valBuilder2=new Button(condition,SWT.PUSH);
  valBuilder2.setText("String_Node_Str");
  gdata=new GridData();
  gdata.heightHint=20;
  gdata.widthHint=20;
  valBuilder2.setLayoutData(gdata);
  valBuilder2.setToolTipText(Messages.getString("String_Node_Str"));
  valBuilder2.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editValue(value2);
    }
  }
);
  valBuilder2.setVisible(false);
  if (operator.getItemCount() > 0) {
    operator.select(0);
  }
  lb=new Label(innerParent,SWT.NONE);
  lb.setText(Messages.getString("String_Node_Str"));
  Composite format=new Composite(innerParent,SWT.NONE);
  format.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  glayout=new GridLayout();
  format.setLayout(glayout);
  display=new Text(format,SWT.BORDER);
  gdata=new GridData();
  gdata.widthHint=300;
  display.setLayoutData(gdata);
  Composite space=new Composite(innerParent,SWT.NONE);
  gdata=new GridData(GridData.FILL_HORIZONTAL);
  gdata.heightHint=20;
  space.setLayoutData(gdata);
  lb=new Label(innerParent,SWT.SEPARATOR | SWT.HORIZONTAL);
  lb.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  if (handle != null) {
    syncViewProperties();
  }
  updateButtons();
  return composite;
}

Fixed version (ground truth):
protected Control createContents(Composite parent){
  UIUtil.bindHelp(parent,IHelpContextIds.INSERT_EDIT_MAP_RULE_DIALOG_ID);
  GridData gdata;
  GridLayout glayout;
  Composite contents=new Composite(parent,SWT.NONE);
  contents.setLayout(new GridLayout());
  contents.setLayoutData(new GridData(GridData.FILL_BOTH));
  createTitleArea(contents);
  Composite composite=new Composite(contents,SWT.NONE);
  glayout=new GridLayout();
  glayout.marginHeight=0;
  glayout.marginWidth=0;
  glayout.verticalSpacing=0;
  composite.setLayout(glayout);
  composite.setLayoutData(new GridData(GridData.FILL_BOTH));
  applyDialogFont(composite);
  initializeDialogUnits(composite);
  Composite innerParent=(Composite)createDialogArea(composite);
  createButtonBar(composite);
  Label lb=new Label(innerParent,SWT.NONE);
  lb.setText(Messages.getString("String_Node_Str"));
  Composite condition=new Composite(innerParent,SWT.NONE);
  condition.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  glayout=new GridLayout(5,false);
  condition.setLayout(glayout);
  expression=new Combo(condition,SWT.NONE);
  gdata=new GridData();
  gdata.widthHint=100;
  expression.setLayoutData(gdata);
  fillExpression(expression);
  expression.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      if (expression.getText().equals(VALUE_OF_THIS_DATA_ITEM) && designHandle instanceof DataItemHandle) {
        expression.setText(DEUtil.getColumnExpression(((DataItemHandle)designHandle).getResultSetColumn()));
      }
      updateButtons();
    }
  }
);
  expression.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      updateButtons();
    }
  }
);
  Button expBuilder=new Button(condition,SWT.PUSH);
  expBuilder.setText("String_Node_Str");
  gdata=new GridData();
  gdata.heightHint=20;
  gdata.widthHint=20;
  expBuilder.setLayoutData(gdata);
  expBuilder.setToolTipText(Messages.getString("String_Node_Str"));
  expBuilder.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editValue(expression);
    }
  }
);
  operator=new Combo(condition,SWT.READ_ONLY);
  for (int i=0; i < OPERATOR.length; i++) {
    operator.add(OPERATOR[i][0]);
  }
  operator.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      String value=getValueForOperator(operator.getText());
      int vv=determineValueVisible(value);
      if (vv == 0) {
        value1.setVisible(false);
        value2.setVisible(false);
        valBuilder1.setVisible(false);
        valBuilder2.setVisible(false);
        andLable.setVisible(false);
      }
 else       if (vv == 1) {
        value1.setVisible(true);
        valBuilder1.setVisible(true);
        value2.setVisible(false);
        valBuilder2.setVisible(false);
        andLable.setVisible(false);
      }
 else       if (vv == 2) {
        value1.setVisible(true);
        value2.setVisible(true);
        valBuilder1.setVisible(true);
        valBuilder2.setVisible(true);
        andLable.setVisible(true);
      }
      updateButtons();
    }
  }
);
  value1=createText(condition);
  value1.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      updateButtons();
    }
  }
);
  valBuilder1=new Button(condition,SWT.PUSH);
  valBuilder1.setText("String_Node_Str");
  gdata=new GridData();
  gdata.heightHint=20;
  gdata.widthHint=20;
  valBuilder1.setLayoutData(gdata);
  valBuilder1.setToolTipText(Messages.getString("String_Node_Str"));
  valBuilder1.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editValue(value1);
    }
  }
);
  createDummy(condition,3);
  andLable=new Label(condition,SWT.NONE);
  andLable.setText(Messages.getString("String_Node_Str"));
  andLable.setVisible(false);
  createDummy(condition,1);
  createDummy(condition,3);
  value2=createText(condition);
  value2.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      updateButtons();
    }
  }
);
  value2.setVisible(false);
  valBuilder2=new Button(condition,SWT.PUSH);
  valBuilder2.setText("String_Node_Str");
  gdata=new GridData();
  gdata.heightHint=20;
  gdata.widthHint=20;
  valBuilder2.setLayoutData(gdata);
  valBuilder2.setToolTipText(Messages.getString("String_Node_Str"));
  valBuilder2.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      editValue(value2);
    }
  }
);
  valBuilder2.setVisible(false);
  if (operator.getItemCount() > 0) {
    operator.select(0);
  }
  lb=new Label(innerParent,SWT.NONE);
  lb.setText(Messages.getString("String_Node_Str"));
  Composite format=new Composite(innerParent,SWT.NONE);
  format.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  glayout=new GridLayout();
  format.setLayout(glayout);
  display=new Text(format,SWT.BORDER);
  gdata=new GridData();
  gdata.widthHint=300;
  display.setLayoutData(gdata);
  Composite space=new Composite(innerParent,SWT.NONE);
  gdata=new GridData(GridData.FILL_HORIZONTAL);
  gdata.heightHint=20;
  space.setLayoutData(gdata);
  lb=new Label(innerParent,SWT.SEPARATOR | SWT.HORIZONTAL);
  lb.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  if (handle != null) {
    syncViewProperties();
  }
  updateButtons();
  return composite;
}