Program: 148569
Project: 148569
Buggy source:
protected Control createDialogArea(Composite parent){
  parent.getShell().setText(this.title);
  Composite composite=(Composite)super.createDialogArea(parent);
  GridLayout layout=(GridLayout)composite.getLayout();
  layout.makeColumnsEqualWidth=false;
  layout.numColumns=3;
  datamoelsLabel=new Label(composite,SWT.NONE);
  GridData dg=new GridData(SWT.FILL,SWT.FILL,false,true,1,1);
  datamoelsLabel.setLayoutData(dg);
  datamoelsLabel.setText("String_Node_Str");
  dg=new GridData(SWT.FILL,SWT.FILL,true,true,2,1);
  dg.widthHint=400;
  dataModelCombo=new Combo(composite,SWT.READ_ONLY | SWT.DROP_DOWN | SWT.SINGLE);
  dataModelCombo.setLayoutData(dg);
  if (this.parent == null) {
    this.parent=(TreeParent)ServerView.show().getRoot().getChildren()[0];
  }
  tree=this.parent.findServerFolder(TreeObject.DATA_MODEL);
  List<String> systemDataModelValues=Util.getChildren(this.parent.getServerRoot(),TreeObject.DATA_MODEL);
  List<String> avaiList=new ArrayList<String>();
  avaiList.addAll(systemDataModelValues);
  if (conceptName != null && !conceptName.contains("String_Node_Str")) {
    for (    String datamodel : systemDataModelValues) {
      try {
        WSDataModel dm=Util.getPort(this.parent).getDataModel(new WSGetDataModel(new WSDataModelPK(datamodel)));
        if (dm != null) {
          XSDSchema xsdSchema=Util.getXSDSchema(dm.getXsdSchema());
          String schema=Util.nodeToString(xsdSchema.getDocument());
          XSDSchema xsd=Util.createXsdSchema(schema,this.parent);
          if (!Util.getConcepts(xsd).contains(conceptName)) {
            avaiList.remove(datamodel);
          }
        }
      }
 catch (      Exception e1) {
        e1.printStackTrace();
      }
    }
  }
  dataModelCombo.setItems(avaiList.toArray(new String[avaiList.size()]));
  dataModelCombo.addSelectionListener(new SelectionListener(){
    public void widgetDefaultSelected(    org.eclipse.swt.events.SelectionEvent e){
    }
    public void widgetSelected(    org.eclipse.swt.events.SelectionEvent e){
      changeDomTree(tree);
    }
  }
);
  schemaLabel=new Label(composite,SWT.NONE);
  schemaLabel.setText("String_Node_Str");
  schemaLabel.setLayoutData(new GridData(SWT.FILL,SWT.FILL,false,true,1,1));
  ((GridData)schemaLabel.getLayoutData()).widthHint=10;
  xpathText=new Text(composite,SWT.BORDER);
  xpathText.setEditable(false);
  xpathText.setLayoutData(new GridData(SWT.FILL,SWT.FILL,false,true,2,1));
  Composite radioComposite=(Composite)super.createDialogArea(parent);
  GridLayout radioLayout=(GridLayout)radioComposite.getLayout();
  radioLayout.makeColumnsEqualWidth=false;
  radioLayout.numColumns=2;
  radioLayout.marginRight=280;
  isXpath=new Button(radioComposite,SWT.RADIO);
  isXpath.setText("String_Node_Str");
  isXpath.setLayoutData(new GridData(SWT.FILL,SWT.LEFT,true,true,1,1));
  isXpath.setSelection(true);
  ((GridData)isXpath.getLayoutData()).widthHint=60;
  isXpath.addSelectionListener(new SelectionListener(){
    public void widgetSelected(    SelectionEvent e){
      datamoelsLabel.setVisible(true);
      dataModelCombo.setVisible(true);
      schemaLabel.setText("String_Node_Str");
      changeDomTree(tree);
      domViewer.refresh(tree);
    }
    public void widgetDefaultSelected(    SelectionEvent e){
    }
  }
);
  isResource=new Button(radioComposite,SWT.RADIO);
  isResource.setText("String_Node_Str");
  isResource.setLayoutData(new GridData(SWT.FILL,SWT.LEFT,false,true,1,1));
  ((GridData)isResource.getLayoutData()).widthHint=120;
  isResource.addSelectionListener(new SelectionListener(){
    public void widgetSelected(    SelectionEvent e){
      datamoelsLabel.setVisible(false);
      dataModelCombo.setVisible(false);
      schemaLabel.setText("String_Node_Str");
      domViewer.refresh(tree);
      changeToResource();
    }
    public void widgetDefaultSelected(    SelectionEvent e){
    }
  }
);
  if (isMulti) {
    domViewer=new TreeViewer(parent,SWT.H_SCROLL | SWT.MULTI | SWT.V_SCROLL| SWT.BORDER);
  }
 else {
    domViewer=new TreeViewer(parent,SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
  }
  int index=avaiList.indexOf(dataModelName);
  if (index < 0)   dataModelCombo.select(0);
 else   dataModelCombo.select(index);
  changeDomTree(tree);
  domViewer.getControl().setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,3,1));
  ((GridData)domViewer.getControl().getLayoutData()).heightHint=400;
  ((GridData)domViewer.getControl().getLayoutData()).widthHint=400;
  return composite;
}

Fixed version (ground truth):
protected Control createDialogArea(Composite parent){
  parent.getShell().setText(this.title);
  Composite composite=(Composite)super.createDialogArea(parent);
  GridLayout layout=(GridLayout)composite.getLayout();
  layout.makeColumnsEqualWidth=false;
  layout.numColumns=3;
  datamoelsLabel=new Label(composite,SWT.NONE);
  GridData dg=new GridData(SWT.FILL,SWT.FILL,false,true,1,1);
  datamoelsLabel.setLayoutData(dg);
  datamoelsLabel.setText("String_Node_Str");
  dg=new GridData(SWT.FILL,SWT.FILL,true,true,2,1);
  dg.widthHint=400;
  dataModelCombo=new Combo(composite,SWT.READ_ONLY | SWT.DROP_DOWN | SWT.SINGLE);
  dataModelCombo.setLayoutData(dg);
  if (this.parent == null) {
    this.parent=(TreeParent)ServerView.show().getRoot().getChildren()[0];
  }
  tree=this.parent.findServerFolder(TreeObject.DATA_MODEL);
  List<String> avaiList=Util.getDataModel(this.parent,null,conceptName);
  dataModelCombo.setItems(avaiList.toArray(new String[avaiList.size()]));
  dataModelCombo.addSelectionListener(new SelectionListener(){
    public void widgetDefaultSelected(    org.eclipse.swt.events.SelectionEvent e){
    }
    public void widgetSelected(    org.eclipse.swt.events.SelectionEvent e){
      changeDomTree(tree);
    }
  }
);
  schemaLabel=new Label(composite,SWT.NONE);
  schemaLabel.setText("String_Node_Str");
  schemaLabel.setLayoutData(new GridData(SWT.FILL,SWT.FILL,false,true,1,1));
  ((GridData)schemaLabel.getLayoutData()).widthHint=10;
  xpathText=new Text(composite,SWT.BORDER);
  xpathText.setEditable(false);
  xpathText.setLayoutData(new GridData(SWT.FILL,SWT.FILL,false,true,2,1));
  Composite radioComposite=(Composite)super.createDialogArea(parent);
  GridLayout radioLayout=(GridLayout)radioComposite.getLayout();
  radioLayout.makeColumnsEqualWidth=false;
  radioLayout.numColumns=2;
  radioLayout.marginRight=280;
  isXpath=new Button(radioComposite,SWT.RADIO);
  isXpath.setText("String_Node_Str");
  isXpath.setLayoutData(new GridData(SWT.FILL,SWT.LEFT,true,true,1,1));
  isXpath.setSelection(true);
  ((GridData)isXpath.getLayoutData()).widthHint=60;
  isXpath.addSelectionListener(new SelectionListener(){
    public void widgetSelected(    SelectionEvent e){
      datamoelsLabel.setVisible(true);
      dataModelCombo.setVisible(true);
      schemaLabel.setText("String_Node_Str");
      changeDomTree(tree);
      domViewer.refresh(tree);
    }
    public void widgetDefaultSelected(    SelectionEvent e){
    }
  }
);
  isResource=new Button(radioComposite,SWT.RADIO);
  isResource.setText("String_Node_Str");
  isResource.setLayoutData(new GridData(SWT.FILL,SWT.LEFT,false,true,1,1));
  ((GridData)isResource.getLayoutData()).widthHint=120;
  isResource.addSelectionListener(new SelectionListener(){
    public void widgetSelected(    SelectionEvent e){
      datamoelsLabel.setVisible(false);
      dataModelCombo.setVisible(false);
      schemaLabel.setText("String_Node_Str");
      domViewer.refresh(tree);
      changeToResource();
    }
    public void widgetDefaultSelected(    SelectionEvent e){
    }
  }
);
  if (isMulti) {
    domViewer=new TreeViewer(parent,SWT.H_SCROLL | SWT.MULTI | SWT.V_SCROLL| SWT.BORDER);
  }
 else {
    domViewer=new TreeViewer(parent,SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
  }
  int index=avaiList.indexOf(dataModelName);
  if (index < 0)   dataModelCombo.select(0);
 else   dataModelCombo.select(index);
  changeDomTree(tree);
  domViewer.getControl().setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true,3,1));
  ((GridData)domViewer.getControl().getLayoutData()).heightHint=400;
  ((GridData)domViewer.getControl().getLayoutData()).widthHint=400;
  return composite;
}