Program: 95320
Project: 95320
Buggy source:
/** 
 * Inits the PropertyDescriptors
 */
protected void initPropDescriptor(){
  Map<String,String> map=StringHelper.getInstance().getMap();
  clearPropertyDescriptors();
  addPropertyDescriptor(getStepNamePropDesc());
  super.initPropDescriptor();
  addPropertyDescriptor(getCompTypePropDesc());
  IPropertyDescriptor propdesc=getCompNamePropDesc();
  if (propdesc != null) {
    addPropertyDescriptor(getCompNamePropDesc());
  }
  addPropertyDescriptor(getActionPropDesc());
  if (m_initializedParamDescriptors.isEmpty()) {
    clearControllerLists();
    IParamNameMapper activeParamNameMapper=getActiveParamNameMapper();
    IParamNodePO paramNode=getParamNode();
    for (    IParamDescriptionPO desc : paramNode.getParameterList()) {
      ParameterValueController paramCtrl=new ParameterValueController(this,desc,activeParamNameMapper);
      m_paramValueControllerList.add(paramCtrl);
      Action action=CapBP.getAction((ICapPO)getPoNode());
      final List<String> values=new ArrayList<String>();
      Param param=action.findParam(desc.getUniqueId());
      for (Iterator iter=param.valueSetIterator(); iter.hasNext(); ) {
        values.add(map.get(((ValueSetElement)iter.next()).getValue()));
      }
      final String[] valArray=values.toArray(new String[values.size()]);
      PropertyDescriptor descr=TestDataControlFactory.createValuePropertyDescriptor(paramCtrl,getParameterNameDescr(desc),valArray,param.getValueSet().isCombinable());
      ILabelProvider labelProvider;
      if (param.isOptional()) {
        labelProvider=new ParameterValueLabelProvider(IconConstants.OPTIONAL_DATA_IMAGE);
      }
 else {
        labelProvider=new ParameterValueLabelProvider(INCOMPL_DATA_IMAGE);
      }
      descr.setLabelProvider(labelProvider);
      descr.setCategory(P_PARAMETER_CAT);
      m_initializedParamDescriptors.add(descr);
    }
  }
  addPropertyDescriptor(m_initializedParamDescriptors);
}

Fixed version (ground truth):
/** 
 * Inits the PropertyDescriptors
 */
protected void initPropDescriptor(){
  Map<String,String> map=StringHelper.getInstance().getMap();
  clearPropertyDescriptors();
  addPropertyDescriptor(getStepNamePropDesc());
  super.initPropDescriptor();
  addPropertyDescriptor(getCompTypePropDesc());
  IPropertyDescriptor propdesc=getCompNamePropDesc();
  if (propdesc != null) {
    addPropertyDescriptor(getCompNamePropDesc());
  }
  addPropertyDescriptor(getActionPropDesc());
  if (m_initializedParamDescriptors.isEmpty()) {
    clearControllerLists();
    IParamNameMapper activeParamNameMapper=getActiveParamNameMapper();
    IParamNodePO paramNode=getParamNode();
    for (    IParamDescriptionPO desc : paramNode.getParameterList()) {
      ParameterValueController paramCtrl=new ParameterValueController(this,desc,activeParamNameMapper);
      m_paramValueControllerList.add(paramCtrl);
      Action action=CapBP.getAction((ICapPO)getPoNode());
      final Map<String,String> values=new HashMap<String,String>();
      Param param=action.findParam(desc.getUniqueId());
      for (Iterator<ValueSetElement> iter=param.valueSetIterator(); iter.hasNext(); ) {
        ValueSetElement next=iter.next();
        values.put(map.get(next.getValue()),CompSystemI18n.getString(next.getDescriptionKey()));
      }
      PropertyDescriptor descr=TestDataControlFactory.createValuePropertyDescriptor(paramCtrl,getParameterNameDescr(desc),values,param.getValueSet().isCombinable());
      ILabelProvider labelProvider;
      if (param.isOptional()) {
        labelProvider=new ParameterValueLabelProvider(IconConstants.OPTIONAL_DATA_IMAGE);
      }
 else {
        labelProvider=new ParameterValueLabelProvider(INCOMPL_DATA_IMAGE);
      }
      descr.setLabelProvider(labelProvider);
      descr.setCategory(P_PARAMETER_CAT);
      m_initializedParamDescriptors.add(descr);
    }
  }
  addPropertyDescriptor(m_initializedParamDescriptors);
}