Program: 121598
Project: 121598
Buggy source:
/** 
 * Gets the jaxrs feature config. Currently, support SL&SAM feature config.
 * @param component the component
 * @param processItem the process item
 * @param isSamEnable
 * @param isSlEnable
 * @return the jaxrs feature config
 */
private String getJaxrsFeatureConfig(NodeType component,ProcessItem processItem,boolean isSlEnable,boolean isSamEnable){
  if (isSamEnable | isSlEnable) {
    StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str");
    if (isSlEnable) {
      sb.append("String_Node_Str");
      sb.append(processItem.getProperty().getLabel().toLowerCase());
      sb.append("String_Node_Str");
      for (      Object obj : component.getElementParameter()) {
        ElementParameterType cpType=(ElementParameterType)obj;
        if ("String_Node_Str".equals(cpType.getName())) {
          EList<?> elementValue=cpType.getElementValue();
          int size=elementValue.size();
          if (size > 0) {
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
          }
          for (int i=0; i < size; i+=2) {
            if (size <= i + 1) {
              break;
            }
            ElementValueType name=(ElementValueType)elementValue.get(i);
            ElementValueType value=(ElementValueType)elementValue.get(i + 1);
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
            sb.append(name.getValue() == null ? "String_Node_Str" : name.getValue());
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
            sb.append(value.getValue() == null ? "String_Node_Str" : value.getValue());
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
          }
          if (elementValue.size() > 0) {
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
          }
        }
      }
      sb.append("String_Node_Str");
    }
    if (isSamEnable) {
      sb.append("String_Node_Str");
    }
    sb.append("String_Node_Str");
    return sb.toString();
  }
 else {
    return "String_Node_Str";
  }
}

Fixed version (ground truth):
/** 
 * Gets the jaxrs feature config. Currently, support SL&SAM feature config.
 * @param component the component
 * @param processItem the process item
 * @param isSamEnable
 * @param isSlEnable
 * @return the jaxrs feature config
 */
private static String getJaxrsFeatureConfig(NodeType component,ProcessItem processItem,boolean isSlEnable,boolean isSamEnable){
  if (isSamEnable || isSlEnable) {
    StringBuilder sb=new StringBuilder();
    sb.append("String_Node_Str");
    if (isSlEnable) {
      sb.append("String_Node_Str");
      sb.append(processItem.getProperty().getLabel().toLowerCase());
      sb.append("String_Node_Str");
      for (      Object obj : component.getElementParameter()) {
        ElementParameterType cpType=(ElementParameterType)obj;
        if ("String_Node_Str".equals(cpType.getName())) {
          EList<?> elementValue=cpType.getElementValue();
          int size=elementValue.size();
          if (size > 0) {
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
          }
          for (int i=0; i < size; i+=2) {
            if (size <= i + 1) {
              break;
            }
            ElementValueType name=(ElementValueType)elementValue.get(i);
            ElementValueType value=(ElementValueType)elementValue.get(i + 1);
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
            sb.append(name.getValue() == null ? "String_Node_Str" : name.getValue());
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
            sb.append(value.getValue() == null ? "String_Node_Str" : value.getValue());
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
          }
          if (elementValue.size() > 0) {
            sb.append("String_Node_Str");
            sb.append("String_Node_Str");
          }
        }
      }
      sb.append("String_Node_Str");
    }
    if (isSamEnable) {
      sb.append("String_Node_Str");
    }
    sb.append("String_Node_Str");
    return sb.toString();
  }
 else {
    return "String_Node_Str";
  }
}