Program: 140710
Project: 140710
Buggy source:
private void creatNewExpressLine(RegularExpressionImpl regularExpress){
  final Composite expressComp=new Composite(componentsComp,SWT.NONE);
  expressComp.setLayout(new GridLayout(10,true));
  final CCombo combo=new CCombo(expressComp,SWT.BORDER);
  combo.setEditable(false);
  combo.setItems(allDBTypes);
  final RegularExpressionImpl finalRegExpress=regularExpress;
  String language=regularExpress.getExpression().getLanguage();
  if (language == null) {
    combo.setText(ALL_DATABASE_TYPE);
  }
 else {
    combo.setText(language.equalsIgnoreCase(SQL) ? ALL_DATABASE_TYPE : language);
  }
  GridDataFactory.fillDefaults().span(2,1).grab(true,false).applyTo(combo);
  combo.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      String language=combo.getText().equalsIgnoreCase(ALL_DATABASE_TYPE) ? SQL : combo.getText();
      finalRegExpress.getExpression().setLanguage(language);
      setDirty(true);
    }
  }
);
  final Text patternText=new Text(expressComp,SWT.BORDER);
  patternText.setText(regularExpress.getExpression().getBody() == null ? PluginConstant.EMPTY_STRING : regularExpress.getExpression().getBody());
  GridDataFactory.fillDefaults().span(7,1).grab(true,false).applyTo(patternText);
  patternText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      finalRegExpress.getExpression().setBody(patternText.getText());
      setDirty(true);
    }
  }
);
  Button delButton=new Button(expressComp,SWT.NONE);
  delButton.setText("String_Node_Str");
  delButton.setToolTipText("String_Node_Str");
  GridDataFactory.fillDefaults().span(1,1).grab(true,false).applyTo(delButton);
  delButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      tempPatternComponents.remove(finalRegExpress);
      expressComp.dispose();
      sectionComp.layout();
      setDirty(true);
    }
  }
);
  GridDataFactory.fillDefaults().align(SWT.FILL,SWT.FILL).grab(true,false).applyTo(expressComp);
}

Fixed version (ground truth):
private void creatNewExpressLine(final ScrolledForm form,RegularExpressionImpl regularExpress){
  final Composite expressComp=new Composite(componentsComp,SWT.NONE);
  expressComp.setLayout(new GridLayout(10,true));
  final CCombo combo=new CCombo(expressComp,SWT.BORDER);
  combo.setEditable(false);
  combo.setItems(allDBTypes);
  final RegularExpressionImpl finalRegExpress=regularExpress;
  String language=regularExpress.getExpression().getLanguage();
  if (language == null) {
    combo.setText(ALL_DATABASE_TYPE);
  }
 else {
    combo.setText(language.equalsIgnoreCase(SQL) ? ALL_DATABASE_TYPE : language);
  }
  GridDataFactory.fillDefaults().span(2,1).grab(true,false).applyTo(combo);
  combo.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      String language=combo.getText().equalsIgnoreCase(ALL_DATABASE_TYPE) ? SQL : combo.getText();
      finalRegExpress.getExpression().setLanguage(language);
      setDirty(true);
    }
  }
);
  final Text patternText=new Text(expressComp,SWT.BORDER);
  patternText.setText(regularExpress.getExpression().getBody() == null ? PluginConstant.EMPTY_STRING : regularExpress.getExpression().getBody());
  GridDataFactory.fillDefaults().span(7,1).grab(true,false).applyTo(patternText);
  patternText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      finalRegExpress.getExpression().setBody(patternText.getText());
      setDirty(true);
    }
  }
);
  Button delButton=new Button(expressComp,SWT.NONE);
  delButton.setImage(ImageLib.getImage(ImageLib.DELETE_ACTION));
  delButton.setToolTipText("String_Node_Str");
  GridDataFactory.fillDefaults().span(1,1).grab(true,false).applyTo(delButton);
  delButton.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      tempPatternComponents.remove(finalRegExpress);
      expressComp.dispose();
      sectionComp.layout();
      form.reflow(true);
      setDirty(true);
    }
  }
);
  GridDataFactory.fillDefaults().align(SWT.FILL,SWT.FILL).grab(true,false).applyTo(expressComp);
}