Program: 65744
Project: 65744
Buggy source:
private void showAggregateParameters(String aggFuncName){
  Control[] children=fAggParameterComposite.getChildren();
  for (int i=0; i < children.length; i++) {
    children[i].dispose();
  }
  fAggParamtersTextWidgets.clear();
  fExprBuilderWidgetsMap.clear();
  IAggregateFunction aFunc=null;
  try {
    aFunc=PluginSettings.instance().getAggregateFunction(aggFuncName);
  }
 catch (  ChartException e) {
    ;
  }
  String[] args=null;
  if (aFunc != null) {
    args=aFunc.getDisplayParameters();
  }
  if (aFunc != null && args != null && args.length > 0) {
    ((GridData)fAggParameterComposite.getLayoutData()).exclude=false;
    ((GridData)fAggParameterComposite.getLayoutData()).heightHint=SWT.DEFAULT;
    for (int i=0; i < args.length; i++) {
      Label lblArg=new Label(fAggParameterComposite,SWT.NONE);
      lblArg.setText(args[i] + "String_Node_Str");
      GridData gd=new GridData();
      lblArg.setLayoutData(gd);
      Text txtArg=new Text(fAggParameterComposite,SWT.BORDER);
      GridData gridData=new GridData(GridData.FILL_HORIZONTAL);
      gridData.horizontalIndent=0;
      txtArg.setLayoutData(gridData);
      fAggParamtersTextWidgets.add(txtArg);
      txtArg.addSelectionListener(this);
      txtArg.addListener(SWT.FocusOut,this);
      txtArg.addListener(SWT.Traverse,this);
      txtArg.addFocusListener(new FocusListener(){
        public void focusGained(        FocusEvent e){
        }
        public void focusLost(        FocusEvent e){
          setAggParameter((Text)e.getSource());
        }
      }
);
      txtArg.addModifyListener(new ModifyListener(){
        public void modifyText(        ModifyEvent e){
          setAggParameter((Text)e.getSource());
        }
      }
);
      Button btnBuilder=new Button(fAggParameterComposite,SWT.PUSH);
{
        fExprBuilderWidgetsMap.put(btnBuilder,txtArg);
        GridData gdBTNBuilder=new GridData();
        ChartUIUtil.setChartImageButtonSizeByPlatform(gdBTNBuilder);
        btnBuilder.setLayoutData(gdBTNBuilder);
        btnBuilder.setImage(UIHelper.getImage("String_Node_Str"));
        btnBuilder.setToolTipText(Messages.getString("String_Node_Str"));
        btnBuilder.getImage().setBackground(btnBuilder.getBackground());
        btnBuilder.setEnabled(fChartContext.getUIServiceProvider().isInvokingSupported());
        btnBuilder.setVisible(fChartContext.getUIServiceProvider().isEclipseModeSupported());
        btnBuilder.addSelectionListener(this);
        btnBuilder.addListener(SWT.FocusOut,this);
        btnBuilder.addListener(SWT.Traverse,this);
      }
    }
  }
 else {
    ((GridData)fAggParameterComposite.getLayoutData()).heightHint=0;
  }
  fAggParameterComposite.layout();
  fCmpAggregate.layout();
  Composite c=fAggParameterComposite;
  while (c != getShell()) {
    c.layout();
    c=c.getParent();
  }
  getShell().pack();
  populateAggParameters();
}

Fixed version (ground truth):
private void showAggregateParameters(String aggFuncName){
  Control[] children=fAggParameterComposite.getChildren();
  for (int i=0; i < children.length; i++) {
    children[i].dispose();
  }
  fAggParamtersTextWidgets.clear();
  fExprBuilderWidgetsMap.clear();
  IAggregateFunction aFunc=null;
  try {
    if (aggFuncName != null && !AGG_FUNC_NONE.equals(aggFuncName)) {
      aFunc=PluginSettings.instance().getAggregateFunction(aggFuncName);
    }
  }
 catch (  ChartException e) {
    ;
  }
  String[] args=null;
  if (aFunc != null) {
    args=aFunc.getDisplayParameters();
  }
  if (aFunc != null && args != null && args.length > 0) {
    ((GridData)fAggParameterComposite.getLayoutData()).exclude=false;
    ((GridData)fAggParameterComposite.getLayoutData()).heightHint=SWT.DEFAULT;
    for (int i=0; i < args.length; i++) {
      Label lblArg=new Label(fAggParameterComposite,SWT.NONE);
      lblArg.setText(args[i] + "String_Node_Str");
      GridData gd=new GridData();
      lblArg.setLayoutData(gd);
      Text txtArg=new Text(fAggParameterComposite,SWT.BORDER);
      GridData gridData=new GridData(GridData.FILL_HORIZONTAL);
      gridData.horizontalIndent=0;
      txtArg.setLayoutData(gridData);
      fAggParamtersTextWidgets.add(txtArg);
      txtArg.addSelectionListener(this);
      txtArg.addListener(SWT.FocusOut,this);
      txtArg.addListener(SWT.Traverse,this);
      txtArg.addFocusListener(new FocusListener(){
        public void focusGained(        FocusEvent e){
        }
        public void focusLost(        FocusEvent e){
          setAggParameter((Text)e.getSource());
        }
      }
);
      txtArg.addModifyListener(new ModifyListener(){
        public void modifyText(        ModifyEvent e){
          setAggParameter((Text)e.getSource());
        }
      }
);
      Button btnBuilder=new Button(fAggParameterComposite,SWT.PUSH);
{
        fExprBuilderWidgetsMap.put(btnBuilder,txtArg);
        GridData gdBTNBuilder=new GridData();
        ChartUIUtil.setChartImageButtonSizeByPlatform(gdBTNBuilder);
        btnBuilder.setLayoutData(gdBTNBuilder);
        btnBuilder.setImage(UIHelper.getImage("String_Node_Str"));
        btnBuilder.setToolTipText(Messages.getString("String_Node_Str"));
        btnBuilder.getImage().setBackground(btnBuilder.getBackground());
        btnBuilder.setEnabled(fChartContext.getUIServiceProvider().isInvokingSupported());
        btnBuilder.setVisible(fChartContext.getUIServiceProvider().isEclipseModeSupported());
        btnBuilder.addSelectionListener(this);
        btnBuilder.addListener(SWT.FocusOut,this);
        btnBuilder.addListener(SWT.Traverse,this);
      }
    }
  }
 else {
    ((GridData)fAggParameterComposite.getLayoutData()).heightHint=0;
  }
  fAggParameterComposite.layout();
  fCmpAggregate.layout();
  Composite c=fAggParameterComposite;
  while (c != getShell()) {
    c.layout();
    c=c.getParent();
  }
  getShell().pack();
  populateAggParameters();
}