Program: 51252
Project: 51252
Buggy source:
private final void processProperties(Map<String,Object> properties){
  final Collection<String> jsonKeys=new HashSet<String>();
  for (  String k : Collections.unmodifiableSet(properties.keySet())) {
    if (k.startsWith(NAMESPACE)) {
      jsonKeys.add(k);
    }
  }
  if (!jsonKeys.isEmpty()) {
    if (jsonConfiguration != null) {
      JSONConfiguration.Notation pNotation=JSONConfiguration.Notation.MAPPED;
      if (properties.containsKey(JSONJAXBContext.JSON_NOTATION)) {
        Object nO=properties.get(JSONJAXBContext.JSON_NOTATION);
        if ((nO instanceof JSONJAXBContext.JSONNotation) || (nO instanceof String)) {
          pNotation=_notationMap.get(nO.toString());
        }
      }
      JSONConfiguration.Builder builder=JSONConfiguration.getBuilder(pNotation);
      builder.setArrays((Collection<String>)properties.get(JSONJAXBContext.JSON_ARRAYS));
      builder.setAttrsAsElems((Collection<String>)properties.get(JSONJAXBContext.JSON_ATTRS_AS_ELEMS));
      builder.setNonStrings((Collection<String>)properties.get(JSONJAXBContext.JSON_NON_STRINGS));
      builder.setJsonXml2JsonNs((Map<String,String>)properties.get(JSONJAXBContext.JSON_XML2JSON_NS));
      builder.setRootUnwrapping((Boolean)properties.get(JSONJAXBContext.JSON_ROOT_UNWRAPPING));
      jsonConfiguration=builder.build();
    }
  }
  for (  String k : jsonKeys) {
    properties.remove(k);
  }
}

Fixed version (ground truth):
private final void processProperties(Map<String,Object> properties){
  final Collection<String> jsonKeys=new HashSet<String>();
  for (  String k : Collections.unmodifiableSet(properties.keySet())) {
    if (k.startsWith(NAMESPACE)) {
      jsonKeys.add(k);
    }
  }
  if (!jsonKeys.isEmpty()) {
    if (jsonConfiguration == null) {
      JSONConfiguration.Notation pNotation=JSONConfiguration.Notation.MAPPED;
      if (properties.containsKey(JSONJAXBContext.JSON_NOTATION)) {
        Object nO=properties.get(JSONJAXBContext.JSON_NOTATION);
        if ((nO instanceof JSONJAXBContext.JSONNotation) || (nO instanceof String)) {
          pNotation=_notationMap.get(nO.toString());
        }
      }
      JSONConfiguration.Builder builder=null;
switch (pNotation) {
case BADGERFISH:
        builder=JSONConfiguration.badgerFish();
      break;
case MAPPED_JETTISON:
    builder=JSONConfiguration.mappedJettison();
  break;
case NATURAL:
builder=JSONConfiguration.natural();
break;
case MAPPED:
default :
builder=JSONConfiguration.mapped();
break;
}
String[] a=new String[0];
if (properties.containsKey(JSONJAXBContext.JSON_ARRAYS)) {
builder.arrays(((Collection<String>)properties.get(JSONJAXBContext.JSON_ARRAYS)).toArray(a));
}
if (properties.containsKey(JSONJAXBContext.JSON_ATTRS_AS_ELEMS)) {
builder.attributeAsElement(((Collection<String>)properties.get(JSONJAXBContext.JSON_ATTRS_AS_ELEMS)).toArray(a));
}
if (properties.containsKey(JSONJAXBContext.JSON_NON_STRINGS)) {
builder.nonStrings(((Collection<String>)properties.get(JSONJAXBContext.JSON_NON_STRINGS)).toArray(a));
}
if (properties.containsKey(JSONJAXBContext.JSON_XML2JSON_NS)) {
builder.xml2JsonNs((Map<String,String>)properties.get(JSONJAXBContext.JSON_XML2JSON_NS));
}
if (properties.containsKey(JSONJAXBContext.JSON_ROOT_UNWRAPPING)) {
builder.rootUnwrapping((Boolean)properties.get(JSONJAXBContext.JSON_ROOT_UNWRAPPING));
}
jsonConfiguration=builder.build();
}
}
for (String k : jsonKeys) {
properties.remove(k);
}
}