Program: 148711
Project: 148711
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=2;
  Label 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,1,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];
  }
  final TreeParent 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();
      }
    }
  }
  if (avaiList.size() == 0)   avaiList.addAll(systemDataModelValues);
  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,true,true,1,1));
  if (isMulti) {
    domViewer=new TreeViewer(composite,SWT.H_SCROLL | SWT.MULTI | SWT.V_SCROLL| SWT.BORDER);
  }
 else {
    domViewer=new TreeViewer(composite,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,2,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=2;
  Label 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,1,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];
  }
  final TreeParent 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 (avaiList.size() == 0)   avaiList.addAll(systemDataModelValues);
  if (conceptName != null && !conceptName.contains("String_Node_Str")) {
    for (int i=0; i < systemDataModelValues.size(); i++) {
      String datamodel=systemDataModelValues.get(i);
      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)) {
            dataModelName=datamodel;
            break;
          }
        }
      }
 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,true,true,1,1));
  if (isMulti) {
    domViewer=new TreeViewer(composite,SWT.H_SCROLL | SWT.MULTI | SWT.V_SCROLL| SWT.BORDER);
  }
 else {
    domViewer=new TreeViewer(composite,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,2,1));
  ((GridData)domViewer.getControl().getLayoutData()).heightHint=400;
  ((GridData)domViewer.getControl().getLayoutData()).widthHint=400;
  return composite;
}