Program: 65096
Project: 65096
Buggy source:
private void drawPropertyGroups(final JDBCDriverInformation info){
  ((GridData)porpertyGroupComposite.getLayoutData()).exclude=false;
  porpertyGroupComposite.setVisible(true);
  ((GridData)porpertyGroupComposite.getLayoutData()).heightHint=SWT.DEFAULT;
  databaseProperties.clear();
  List<PropertyGroup> propertyGroups=info.getPropertyGroup();
  for (Iterator it=propertyGroups.iterator(); it.hasNext(); ) {
    PropertyGroup group=(PropertyGroup)(it.next());
    String propertyGroupName=group.getName();
    List<PropertyElement> propertyList=group.getProperties();
    Group propertyGroup=drawPropertyGroup(propertyGroupName == null ? EMPTY_STRING : propertyGroupName);
    for (int i=0; i < propertyList.size(); i++) {
      final String propertyName=propertyList.get(i).getAttribute(Constants.DRIVER_INFO_PROPERTY_NAME);
      Label propertyParam=new Label(propertyGroup,SWT.NONE);
      String propertyParamDisplayName=propertyList.get(i).getAttribute(Constants.DRIVER_INFO_PROPERTY_DISPLAYNAME);
      if (propertyParamDisplayName == null) {
        propertyParamDisplayName=propertyName;
      }
      propertyParam.setText(propertyParamDisplayName);
      propertyParam.setToolTipText(propertyList.get(i).getAttribute(Constants.DRIVER_INFO_PROPERTY_DEC));
      GridData gd=new GridData();
      gd.horizontalSpan=2;
      propertyParam.setLayoutData(gd);
      String propertyContent=null;
      if (profileProperties != null && !profileProperties.isEmpty()) {
        propertyContent=getProfileproperty(propertyName);
      }
      if (Constants.DRIVER_INFO_PROPERTY_TYPE_BOOLEN.equalsIgnoreCase(propertyList.get(i).getAttribute(Constants.DRIVER_INFO_PROPERTY_TYPE))) {
        drawPropertyCombo(propertyGroup,propertyName,propertyContent);
      }
 else {
        if (Boolean.valueOf(propertyList.get(i).getAttribute(Constants.DRIVER_INFO_PROPERTY_ENCRYPT))) {
          drawPropertyText(propertyGroup,propertyName,propertyContent,true);
        }
 else         drawPropertyText(propertyGroup,propertyName,propertyContent,false);
      }
    }
    propertyGroup.getParent().layout();
  }
}

Fixed version (ground truth):
private void drawPropertyGroups(final JDBCDriverInformation info){
  ((GridData)porpertyGroupComposite.getLayoutData()).exclude=false;
  porpertyGroupComposite.setVisible(true);
  ((GridData)porpertyGroupComposite.getLayoutData()).heightHint=SWT.DEFAULT;
  databaseProperties.clear();
  List<PropertyGroup> propertyGroups=info.getPropertyGroup();
  for (Iterator it=propertyGroups.iterator(); it.hasNext(); ) {
    PropertyGroup group=(PropertyGroup)(it.next());
    String propertyGroupName=group.getName();
    List<PropertyElement> propertyList=group.getProperties();
    Group propertyGroup=drawPropertyGroup(propertyGroupName == null ? EMPTY_STRING : propertyGroupName);
    for (int i=0; i < propertyList.size(); i++) {
      final String propertyName=propertyList.get(i).getAttribute(DriverInfoConstants.DRIVER_INFO_PROPERTY_NAME);
      Label propertyParam=new Label(propertyGroup,SWT.NONE);
      String propertyParamDisplayName=propertyList.get(i).getAttribute(DriverInfoConstants.DRIVER_INFO_PROPERTY_DISPLAYNAME);
      if (propertyParamDisplayName == null) {
        propertyParamDisplayName=propertyName;
      }
      propertyParam.setText(propertyParamDisplayName);
      propertyParam.setToolTipText(propertyList.get(i).getAttribute(DriverInfoConstants.DRIVER_INFO_PROPERTY_DEC));
      GridData gd=new GridData();
      gd.horizontalSpan=2;
      propertyParam.setLayoutData(gd);
      String propertyContent=null;
      if (profileProperties != null && !profileProperties.isEmpty()) {
        propertyContent=getProfileproperty(propertyName);
      }
      if (DriverInfoConstants.DRIVER_INFO_PROPERTY_TYPE_BOOLEN.equalsIgnoreCase(propertyList.get(i).getAttribute(DriverInfoConstants.DRIVER_INFO_PROPERTY_TYPE))) {
        drawPropertyCombo(propertyGroup,propertyName,propertyContent);
      }
 else {
        if (Boolean.valueOf(propertyList.get(i).getAttribute(DriverInfoConstants.DRIVER_INFO_PROPERTY_ENCRYPT))) {
          drawPropertyText(propertyGroup,propertyName,propertyContent,true);
        }
 else         drawPropertyText(propertyGroup,propertyName,propertyContent,false);
      }
    }
    propertyGroup.getParent().layout();
  }
}