Program: 18176
Project: 18176
Buggy source:
protected HeaderMappingsDesc loadHeaderMappings(String adminName,OptionList options,boolean inbound) throws ServiceCreationException {
  if (options == null) {
    return HeaderMappingsDesc.EMPTY_MAPPINGS;
  }
  List<NameValue> nameValueList=options.getOption();
  Map<String,String> headerMap=new HashMap<String,String>();
  Set<String> suppressHeaderSet=new HashSet<String>();
  for (  NameValue nv : nameValueList) {
    String rawname=nv.getName();
    String name=SOAHeaders.normalizeName(rawname,true);
    if (inbound && !SOAHeaders.isSOAHeader(name)) {
      throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_INVALID_HEADER_NAME,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,name}));
    }
    String value=nv.getValue();
    if (value.startsWith("String_Node_Str")) {
      if (!value.endsWith("String_Node_Str")) {
        throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_INVALID_MAPPING_VALUE,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,value}));
      }
      String indexval=value.substring(7,value.length() - 1);
      if (inbound) {
        if (headerMap.containsKey(indexval)) {
          throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_DUPLICATE_HEADER_KEY,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,indexval}));
        }
        headerMap.put(indexval,name);
      }
 else {
        if (headerMap.containsKey(indexval)) {
          throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_DUPLICATE_HEADER_KEY,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,indexval}));
        }
        headerMap.put(name,indexval);
      }
    }
 else     if (value.equals("String_Node_Str")) {
      suppressHeaderSet.add(name);
    }
 else {
      throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_INVALID_MAPPING_VALUE,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,value}));
    }
  }
  HeaderMappingsDesc result=new HeaderMappingsDesc(headerMap,suppressHeaderSet);
  return result;
}

Fixed version (ground truth):
protected HeaderMappingsDesc loadHeaderMappings(String adminName,OptionList options,boolean inbound) throws ServiceCreationException {
  if (options == null) {
    return HeaderMappingsDesc.EMPTY_MAPPINGS;
  }
  List<NameValue> nameValueList=options.getOption();
  Map<String,String> headerMap=new HashMap<String,String>();
  Set<String> suppressHeaderSet=new HashSet<String>();
  for (  NameValue nv : nameValueList) {
    String rawname=nv.getName();
    String name=SOAHeaders.normalizeName(rawname,true);
    if (inbound && !SOAHeaders.isSOAHeader(name)) {
      throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_INVALID_HEADER_NAME,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,name}));
    }
    String value=nv.getValue();
    if (value.startsWith("String_Node_Str")) {
      if (!value.endsWith("String_Node_Str")) {
        throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_INVALID_MAPPING_VALUE,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,value}));
      }
      String indexval=value.substring(7,value.length() - 1);
      if (inbound) {
        if (headerMap.containsKey(indexval)) {
          throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_DUPLICATE_HEADER_KEY,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,indexval}));
        }
        headerMap.put(indexval.toUpperCase(),name);
      }
 else {
        if (headerMap.containsKey(indexval)) {
          throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_DUPLICATE_HEADER_KEY,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,indexval}));
        }
        headerMap.put(name,indexval);
      }
    }
 else     if (value.equals("String_Node_Str")) {
      suppressHeaderSet.add(name);
    }
 else {
      throw new ServiceCreationException(ErrorDataFactory.createErrorData(ErrorConstants.SVC_FACTORY_INVALID_MAPPING_VALUE,ErrorConstants.ERRORDOMAIN,new Object[]{adminName,value}));
    }
  }
  HeaderMappingsDesc result=new HeaderMappingsDesc(headerMap,suppressHeaderSet);
  return result;
}