Program: 68176
Project: 68176
Buggy source:
/** 
 * initial the property binding. If the property binding has not defined, the default binding will be the meta data of the property's value
 */
private void initPropertyBinding(){
  ds=(IDesignElementModel)getContainer().getModel();
  Iterator iterator=null;
  IElementDefn elementDefn=getElementDefn();
  if (elementDefn != null) {
    iterator=elementDefn.getProperties().iterator();
  }
  if (ds instanceof DataSetHandle && ((DataSetHandle)ds).getPropertyHandle(QUERYTEXT).isVisible()) {
    bindingName.add(QUERYTEXT);
    displayName.add(Messages.getString("String_Node_Str"));
    bindingValue.add(((DataSetHandle)ds).getPropertyBinding(QUERYTEXT) == null ? "String_Node_Str" : ((DataSetHandle)ds).getPropertyBinding(QUERYTEXT));
  }
  if (iterator != null) {
    while (iterator.hasNext()) {
      IElementPropertyDefn propertyDefn=(IElementPropertyDefn)iterator.next();
      if (propertyDefn instanceof IPropertyDefn && propertyDefn.getValueType() == IPropertyDefn.ODA_PROPERTY) {
        String name=propertyDefn.getName();
        if (elementDefn != null && !elementDefn.isPropertyVisible(name))         continue;
        bindingName.add(name);
        displayName.add(propertyDefn.getDisplayName());
        if (ds instanceof DataSetHandle) {
          bindingValue.add(((DataSetHandle)ds).getPropertyBinding(name) == null ? "String_Node_Str" : ((DataSetHandle)ds).getPropertyBinding(name));
        }
 else         if (ds instanceof DataSourceHandle) {
          bindingValue.add(((DataSourceHandle)ds).getPropertyBinding(name) == null ? "String_Node_Str" : ((DataSourceHandle)ds).getPropertyBinding(name));
        }
 else {
          bindingValue.add("String_Node_Str");
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * initial the property binding. If the property binding has not defined, the default binding will be the meta data of the property's value
 */
private void initPropertyBinding(){
  ds=(IDesignElementModel)getContainer().getModel();
  Iterator iterator=null;
  IElementDefn elementDefn=getElementDefn();
  if (elementDefn != null) {
    iterator=elementDefn.getProperties().iterator();
  }
  if (ds instanceof DataSetHandle && ((DataSetHandle)ds).getPropertyHandle(QUERYTEXT).isVisible()) {
    propList.add(new String[]{QUERYTEXT,Messages.getString("String_Node_Str")});
    bindingValue.add(((DataSetHandle)ds).getPropertyBinding(QUERYTEXT) == null ? "String_Node_Str" : ((DataSetHandle)ds).getPropertyBinding(QUERYTEXT));
  }
  if (iterator != null) {
    while (iterator.hasNext()) {
      IElementPropertyDefn propertyDefn=(IElementPropertyDefn)iterator.next();
      if (propertyDefn instanceof IPropertyDefn && propertyDefn.getValueType() == IPropertyDefn.ODA_PROPERTY) {
        String name=propertyDefn.getName();
        if (elementDefn != null && !elementDefn.isPropertyVisible(name))         continue;
        propList.add(propertyDefn);
        if (ds instanceof DataSetHandle) {
          bindingValue.add(((DataSetHandle)ds).getPropertyBinding(name) == null ? "String_Node_Str" : ((DataSetHandle)ds).getPropertyBinding(name));
        }
 else         if (ds instanceof DataSourceHandle) {
          bindingValue.add(((DataSourceHandle)ds).getPropertyBinding(name) == null ? "String_Node_Str" : ((DataSourceHandle)ds).getPropertyBinding(name));
        }
 else {
          bindingValue.add("String_Node_Str");
        }
      }
    }
  }
}