Program: 141692
Project: 141692
Buggy source:
@Override public List<? extends IElementParameter> createElementParameters(INode node){
  List<IElementParameter> listParam=new ArrayList<IElementParameter>();
  ElementParameter param=new ElementParameter(node);
  param.setName(EParameterName.UNIQUE_NAME.getName());
  param.setValue("String_Node_Str");
  param.setDisplayName(EParameterName.UNIQUE_NAME.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(1);
  param.setReadOnly(true);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.FAMILY.getName());
  param.setValue(getOriginalFamilyName());
  param.setDisplayName(EParameterName.FAMILY.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(3);
  param.setReadOnly(true);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.ACTIVATE.getName());
  param.setValue(new Boolean(true));
  param.setDisplayName(EParameterName.ACTIVATE.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(5);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.DUMMY.getName());
  param.setValue(Boolean.FALSE);
  param.setDisplayName(EParameterName.DUMMY.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(5);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.STARTABLE.getName());
  Boolean startable=Boolean.TRUE;
  IElementParameter elementParameter=getProcess().getElementParameter(EParameterName.STARTABLE.getName());
  if (elementParameter != null) {
    startable=(Boolean)elementParameter.getValue();
  }
  param.setValue(startable);
  param.setDisplayName(EParameterName.STARTABLE.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(1);
  param.setReadOnly(true);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.START.getName());
  param.setValue(Boolean.FALSE);
  param.setDisplayName(EParameterName.START.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(1);
  param.setReadOnly(true);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName("String_Node_Str");
  param.setValue(Boolean.TRUE);
  param.setDisplayName("String_Node_Str");
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.BASIC);
  param.setNumRow(5);
  param.setReadOnly(true);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.SUBTREE_START.getName());
  param.setValue(new Boolean(startable));
  param.setDisplayName(EParameterName.SUBTREE_START.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.TECHNICAL);
  param.setNumRow(5);
  param.setReadOnly(true);
  param.setRequired(false);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.END_OF_FLOW.getName());
  param.setValue(new Boolean(startable));
  param.setDisplayName(EParameterName.END_OF_FLOW.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.TECHNICAL);
  param.setNumRow(5);
  param.setReadOnly(true);
  param.setRequired(false);
  param.setShow(false);
  listParam.add(param);
  List<String> allVersionArray=new ArrayList<String>();
  try {
    List<IRepositoryViewObject> allVersion=ProxyRepositoryFactory.getInstance().getAllVersion(this.routeletId);
    if (allVersion != null) {
      for (      IRepositoryViewObject obj : allVersion) {
        String version=obj.getVersion();
        allVersionArray.add(version);
      }
    }
    Collections.sort(allVersionArray);
  }
 catch (  PersistenceException e) {
    ExceptionHandler.process(e);
  }
  if (allVersionArray.size() > 0) {
    allVersionArray.add(0,RelationshipItemBuilder.LATEST_VERSION);
  }
 else {
    allVersionArray.add(RelationshipItemBuilder.LATEST_VERSION);
  }
  String[] allVersions=allVersionArray.toArray(new String[0]);
  param=new ElementParameter(node);
  param.setName(EParameterName.PROCESS_TYPE_VERSION.getName());
  param.setDisplayName(EParameterName.PROCESS_TYPE_VERSION.getDisplayName());
  param.setFieldType(EParameterFieldType.CLOSED_LIST);
  param.setRequired(true);
  param.setCategory(EComponentCategory.BASIC);
  param.setValue(allVersions[0]);
  param.setListItemsDisplayCodeName(allVersions);
  param.setListItemsDisplayName(allVersions);
  param.setListItemsValue(allVersions);
  param.setNumRow(1);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.LABEL.getName());
  param.setDisplayName(EParameterName.LABEL.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.VIEW);
  param.setNumRow(1);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.HINT.getName());
  param.setDisplayName(EParameterName.HINT.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.VIEW);
  param.setNumRow(2);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.CONNECTION_FORMAT.getName());
  param.setDisplayName(EParameterName.CONNECTION_FORMAT.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.VIEW);
  param.setNumRow(3);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.INFORMATION.getName());
  param.setValue(new Boolean(false));
  param.setDisplayName(EParameterName.INFORMATION.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.DOC);
  param.setNumRow(1);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.COMMENT.getName());
  param.setValue("String_Node_Str");
  param.setDisplayName(EParameterName.COMMENT.getDisplayName());
  param.setFieldType(EParameterFieldType.MEMO);
  param.setNbLines(10);
  param.setCategory(EComponentCategory.DOC);
  param.setNumRow(2);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  return listParam;
}

Fixed version (ground truth):
@Override public List<? extends IElementParameter> createElementParameters(INode node){
  List<IElementParameter> listParam=new ArrayList<IElementParameter>();
  ElementParameter param=new ElementParameter(node);
  param.setName(EParameterName.UNIQUE_NAME.getName());
  param.setValue("String_Node_Str");
  param.setDisplayName(EParameterName.UNIQUE_NAME.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(1);
  param.setReadOnly(true);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.FAMILY.getName());
  param.setValue(getOriginalFamilyName());
  param.setDisplayName(EParameterName.FAMILY.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(3);
  param.setReadOnly(true);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.ACTIVATE.getName());
  param.setValue(new Boolean(true));
  param.setDisplayName(EParameterName.ACTIVATE.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(5);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.DUMMY.getName());
  param.setValue(Boolean.FALSE);
  param.setDisplayName(EParameterName.DUMMY.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(5);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.STARTABLE.getName());
  param.setValue(false);
  param.setDisplayName(EParameterName.STARTABLE.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(1);
  param.setReadOnly(true);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.START.getName());
  param.setValue(Boolean.FALSE);
  param.setDisplayName(EParameterName.START.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.MAIN);
  param.setNumRow(1);
  param.setReadOnly(true);
  param.setShow(false);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName("String_Node_Str");
  param.setValue(Boolean.TRUE);
  param.setDisplayName("String_Node_Str");
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.BASIC);
  param.setNumRow(5);
  param.setReadOnly(true);
  param.setShow(false);
  listParam.add(param);
  List<String> allVersionArray=new ArrayList<String>();
  try {
    List<IRepositoryViewObject> allVersion=ProxyRepositoryFactory.getInstance().getAllVersion(this.routeletId);
    if (allVersion != null) {
      for (      IRepositoryViewObject obj : allVersion) {
        String version=obj.getVersion();
        allVersionArray.add(version);
      }
    }
    Collections.sort(allVersionArray);
  }
 catch (  PersistenceException e) {
    ExceptionHandler.process(e);
  }
  if (allVersionArray.size() > 0) {
    allVersionArray.add(0,RelationshipItemBuilder.LATEST_VERSION);
  }
 else {
    allVersionArray.add(RelationshipItemBuilder.LATEST_VERSION);
  }
  String[] allVersions=allVersionArray.toArray(new String[0]);
  param=new ElementParameter(node);
  param.setName(EParameterName.PROCESS_TYPE_VERSION.getName());
  param.setDisplayName(EParameterName.PROCESS_TYPE_VERSION.getDisplayName());
  param.setFieldType(EParameterFieldType.CLOSED_LIST);
  param.setRequired(true);
  param.setCategory(EComponentCategory.BASIC);
  param.setValue(allVersions[0]);
  param.setListItemsDisplayCodeName(allVersions);
  param.setListItemsDisplayName(allVersions);
  param.setListItemsValue(allVersions);
  param.setNumRow(1);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.LABEL.getName());
  param.setDisplayName(EParameterName.LABEL.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.VIEW);
  param.setNumRow(1);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.HINT.getName());
  param.setDisplayName(EParameterName.HINT.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.VIEW);
  param.setNumRow(2);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.CONNECTION_FORMAT.getName());
  param.setDisplayName(EParameterName.CONNECTION_FORMAT.getDisplayName());
  param.setFieldType(EParameterFieldType.TEXT);
  param.setCategory(EComponentCategory.VIEW);
  param.setNumRow(3);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.INFORMATION.getName());
  param.setValue(new Boolean(false));
  param.setDisplayName(EParameterName.INFORMATION.getDisplayName());
  param.setFieldType(EParameterFieldType.CHECK);
  param.setCategory(EComponentCategory.DOC);
  param.setNumRow(1);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  param=new ElementParameter(node);
  param.setName(EParameterName.COMMENT.getName());
  param.setValue("String_Node_Str");
  param.setDisplayName(EParameterName.COMMENT.getDisplayName());
  param.setFieldType(EParameterFieldType.MEMO);
  param.setNbLines(10);
  param.setCategory(EComponentCategory.DOC);
  param.setNumRow(2);
  param.setReadOnly(false);
  param.setRequired(false);
  param.setShow(true);
  listParam.add(param);
  return listParam;
}