Program: 66555
Project: 66555
Buggy source:
/** 
 * the content
 */
public Control createContents(Composite parent){
  initPropertyBinding();
  int size=propList.size();
  Composite composite=new Composite(parent,SWT.NONE);
  composite.setLayout(new GridLayout(3,false));
  GridData gridData=new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
  composite.setLayoutData(gridData);
  Label nameLabel;
  Text propertyText=null;
  for (int i=0; i < size; i++) {
    nameLabel=new Label(composite,SWT.NONE);
    String bindingName="String_Node_Str";
    boolean isEncryptable=false;
    if (propList.get(i) instanceof String[]) {
      bindingName=((String[])propList.get(i))[0];
      nameLabel.setText(((String[])propList.get(i))[1] + Messages.getString("String_Node_Str"));
    }
 else     if (propList.get(i) instanceof IPropertyDefn) {
      IPropertyDefn propDefn=(IPropertyDefn)propList.get(i);
      bindingName=propDefn.getName();
      nameLabel.setText(propDefn.getDisplayName() + Messages.getString("String_Node_Str"));
      isEncryptable=propDefn.isEncryptable();
    }
    nameLabelList.add(nameLabel);
    GridData data=new GridData(GridData.FILL_HORIZONTAL);
    if (QUERYTEXT.equals(bindingName)) {
      propertyText=new Text(composite,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
      data.heightHint=100;
    }
 else     if (isEncryptable) {
      propertyText=new Text(composite,SWT.BORDER);
      if (ds instanceof DesignElementHandle) {
        Expression expr=((DesignElementHandle)ds).getPropertyBindingExpression(bindingName);
        if (expr != null && ExpressionType.CONSTANT.equals(expr.getType())) {
          Text dummy=new Text(composite,SWT.BORDER | SWT.PASSWORD);
          propertyText.setEchoChar(dummy.getEchoChar());
          dummy.dispose();
        }
      }
    }
 else     propertyText=new Text(composite,SWT.BORDER);
    propertyText.setLayoutData(data);
    propertyText.setText((String)bindingValue.get(i) == null ? "String_Node_Str" : (String)bindingValue.get(i));
    propertyTextList.add(propertyText);
    if (ds instanceof OdaDataSourceHandle) {
      handle=(OdaDataSourceHandle)ds;
      OdaDataSourceHandle odsh=(OdaDataSourceHandle)ds;
      String contextId=getDynamicContextId(odsh.getExtensionID(),odsh.getExtensionID());
      if (contextId != null) {
        Utility.setSystemHelp(composite,contextId);
      }
 else {
        Utility.setSystemHelp(composite,IHelpConstants.PREFIX + "String_Node_Str" + "String_Node_Str"+ odsh.getExtensionID().replace('.','_')+ "String_Node_Str"+ "String_Node_Str");
      }
    }
 else     if (ds instanceof OdaDataSetHandle) {
      handle=(OdaDataSetHandle)ds;
      OdaDataSourceHandle odsh=(OdaDataSourceHandle)(((OdaDataSetHandle)ds).getDataSource());
      String contextId=getDynamicContextId(((OdaDataSetHandle)ds).getExtensionID(),odsh.getExtensionID());
      if (contextId != null) {
        Utility.setSystemHelp(composite,contextId);
      }
 else {
        Utility.setSystemHelp(composite,IHelpConstants.PREFIX + "String_Node_Str" + "String_Node_Str"+ odsh.getExtensionID().replace('.','_')+ "String_Node_Str"+ "String_Node_Str");
      }
    }
    createExpressionButton(composite,propertyText,bindingName,isEncryptable);
  }
  if (size <= 0)   setEmptyPropertyMessages(composite);
  return composite;
}

Fixed version (ground truth):
/** 
 * the content
 */
public Control createContents(Composite parent){
  initPropertyBinding();
  int size=propList.size();
  Composite composite=new Composite(parent,SWT.NONE);
  composite.setLayout(new GridLayout(3,false));
  GridData gridData=new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL);
  composite.setLayoutData(gridData);
  Label nameLabel;
  Text propertyText=null;
  for (int i=0; i < size; i++) {
    nameLabel=new Label(composite,SWT.NONE);
    String bindingName="String_Node_Str";
    boolean isEncryptable=false;
    if (propList.get(i) instanceof String[]) {
      bindingName=((String[])propList.get(i))[0];
      nameLabel.setText(((String[])propList.get(i))[1] + Messages.getString("String_Node_Str"));
    }
 else     if (propList.get(i) instanceof IPropertyDefn) {
      IPropertyDefn propDefn=(IPropertyDefn)propList.get(i);
      bindingName=propDefn.getName();
      nameLabel.setText(propDefn.getDisplayName() + Messages.getString("String_Node_Str"));
      isEncryptable=propDefn.isEncryptable();
    }
    nameLabelList.add(nameLabel);
    GridData data=new GridData(GridData.FILL_HORIZONTAL);
    if (QUERYTEXT.equals(bindingName)) {
      propertyText=new Text(composite,SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
      data.heightHint=100;
    }
 else     if (isEncryptable) {
      propertyText=new Text(composite,SWT.BORDER);
      if (ds instanceof DesignElementHandle) {
        Expression expr=((DesignElementHandle)ds).getPropertyBindingExpression(bindingName);
        if (expr != null && ExpressionType.CONSTANT.equals(expr.getType())) {
          Text dummy=new Text(composite,SWT.BORDER | SWT.PASSWORD);
          propertyText.setEchoChar(dummy.getEchoChar());
          dummy.dispose();
        }
      }
    }
 else     propertyText=new Text(composite,SWT.BORDER);
    propertyText.setLayoutData(data);
    propertyText.setText((String)bindingValue.get(i) == null ? "String_Node_Str" : (String)bindingValue.get(i));
    propertyTextList.add(propertyText);
    if (ds instanceof OdaDataSourceHandle) {
      handle=(OdaDataSourceHandle)ds;
      OdaDataSourceHandle odsh=(OdaDataSourceHandle)ds;
      String contextId=getDynamicContextId(odsh.getExtensionID(),odsh.getExtensionID());
      if (contextId != null) {
        Utility.setSystemHelp(composite,contextId);
      }
 else {
        Utility.setSystemHelp(composite,IHelpConstants.PREFIX + "String_Node_Str" + "String_Node_Str"+ odsh.getExtensionID().replace('.','_')+ "String_Node_Str"+ "String_Node_Str");
      }
    }
 else     if (ds instanceof OdaDataSetHandle) {
      handle=(OdaDataSetHandle)ds;
      OdaDataSourceHandle odsh=(OdaDataSourceHandle)(((OdaDataSetHandle)ds).getDataSource());
      String contextId=getDynamicContextId(((OdaDataSetHandle)ds).getExtensionID(),odsh.getExtensionID());
      if (contextId != null) {
        Utility.setSystemHelp(composite,contextId);
      }
 else {
        Utility.setSystemHelp(composite,IHelpConstants.PREFIX + "String_Node_Str" + "String_Node_Str"+ odsh.getExtensionID().replace('.','_')+ "String_Node_Str"+ "String_Node_Str");
      }
    }
    createExpressionButton(composite,propertyText,bindingName,isEncryptable);
    if (i == 0) {
      propertyText.setFocus();
    }
  }
  if (size <= 0)   setEmptyPropertyMessages(composite);
  return composite;
}