Program: 13265
Project: 13265
Buggy source:
/** 
 * Create an instance of a mapping between source and target
 * @param service The associated sychronization service
 * @param config The configuration for this mapping
 * @throws JsonValueException if there is an issue initializing based on the configuration.
 */
public ObjectMapping(SynchronizationService service,JsonValue config) throws JsonValueException {
  this.service=service;
  this.config=config;
  name=config.get("String_Node_Str").required().asString();
  linkTypeName=config.get("String_Node_Str").defaultTo(name).asString();
  sourceObjectSet=config.get("String_Node_Str").required().asString();
  targetObjectSet=config.get("String_Node_Str").required().asString();
  sourceIdsCaseSensitive=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  targetIdsCaseSensitive=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  validSource=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  validTarget=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  correlationQuery=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  for (  JsonValue jv : config.get("String_Node_Str").expect(List.class)) {
    properties.add(new PropertyMapping(service,jv));
  }
  for (  JsonValue jv : config.get("String_Node_Str").expect(List.class)) {
    policies.add(new Policy(service,jv));
  }
  onCreateScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onUpdateScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onDeleteScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onLinkScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onUnlinkScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  resultScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  prefetchLinks=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  Integer confTaskThreads=config.get("String_Node_Str").asInteger();
  if (confTaskThreads != null) {
    taskThreads=confTaskThreads.intValue();
  }
  correlateEmptyTargetSet=config.get("String_Node_Str").defaultTo(Boolean.FALSE).asBoolean();
  syncEnabled=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  linkingEnabled=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  LOGGER.debug("String_Node_Str",name);
}

Fixed version (ground truth):
/** 
 * Create an instance of a mapping between source and target
 * @param service The associated sychronization service
 * @param config The configuration for this mapping
 * @throws JsonValueException if there is an issue initializing based on the configuration.
 */
public ObjectMapping(SynchronizationService service,JsonValue config) throws JsonValueException {
  this.service=service;
  this.config=config;
  name=config.get("String_Node_Str").required().asString();
  linkTypeName=config.get("String_Node_Str").defaultTo(name).asString();
  sourceObjectSet=config.get("String_Node_Str").required().asString();
  targetObjectSet=config.get("String_Node_Str").required().asString();
  sourceIdsCaseSensitive=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  targetIdsCaseSensitive=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  validSource=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  validTarget=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  sourceCondition=config.get("String_Node_Str").expect(Map.class);
  correlationQuery=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  for (  JsonValue jv : config.get("String_Node_Str").expect(List.class)) {
    properties.add(new PropertyMapping(service,jv));
  }
  for (  JsonValue jv : config.get("String_Node_Str").expect(List.class)) {
    policies.add(new Policy(service,jv));
  }
  onCreateScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onUpdateScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onDeleteScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onLinkScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  onUnlinkScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  resultScript=Scripts.newInstance("String_Node_Str",config.get("String_Node_Str"));
  prefetchLinks=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  Integer confTaskThreads=config.get("String_Node_Str").asInteger();
  if (confTaskThreads != null) {
    taskThreads=confTaskThreads.intValue();
  }
  correlateEmptyTargetSet=config.get("String_Node_Str").defaultTo(Boolean.FALSE).asBoolean();
  syncEnabled=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  linkingEnabled=config.get("String_Node_Str").defaultTo(Boolean.TRUE).asBoolean();
  LOGGER.debug("String_Node_Str",name);
}