Program: 39645
Project: 39645
Buggy source:
public Domain(SimpleTypeResolver resolver,Set<NodeTypeMapping> typeMappings,Instrumentor instrumentor,ObjectFormatter objectFormatter,boolean propertyCacheEnabled,boolean propertyReadAheadEnabled,boolean hasPropertyOptimized,boolean hasNodeOptimized,String rootNodePath,int rootCreateMode){
  MapperBuilder builder=new MapperBuilder(resolver,typeMappings,instrumentor);
  if (!CREATE_MODES.contains(rootCreateMode)) {
    throw new IllegalArgumentException("String_Node_Str" + rootCreateMode);
  }
  Map<String,ObjectMapper> typeMapperByNodeType=new HashMap<String,ObjectMapper>();
  Map<Class<?>,ObjectMapper> typeMapperByClass=new HashMap<Class<?>,ObjectMapper>();
  for (  ObjectMapper typeMapper : builder.build()) {
    if (typeMapperByNodeType.containsKey(typeMapper.getNodeTypeName())) {
      throw new IllegalStateException("String_Node_Str" + typeMapper);
    }
    typeMapperByNodeType.put(typeMapper.getNodeTypeName(),typeMapper);
    typeMapperByClass.put(typeMapper.getObjectClass(),typeMapper);
  }
  final List<String> rootNodePathSegments;
  try {
    rootNodePathSegments=Path.splitAbsolutePath(Path.normalizeAbsolutePath(rootNodePath));
  }
 catch (  PathException e) {
    throw new BuilderException("String_Node_Str");
  }
  this.typeMapperByClass=typeMapperByClass;
  this.typeMapperByNodeType=typeMapperByNodeType;
  this.instrumentor=instrumentor;
  this.objectFormatter=objectFormatter;
  this.propertyCacheEnabled=propertyCacheEnabled;
  this.propertyReadAheadEnabled=propertyReadAheadEnabled;
  this.hasPropertyOptimized=hasPropertyOptimized;
  this.hasNodeOptimized=hasNodeOptimized;
  this.rootNodePath=rootNodePath;
  this.rootNodePathSegments=rootNodePathSegments;
  this.nodeInfoManager=new NodeInfoManager();
  this.queryManager=new QueryManager(rootNodePath);
  this.rootCreateMode=rootCreateMode;
}

Fixed version (ground truth):
public Domain(SimpleTypeResolver resolver,Set<NodeTypeMapping> typeMappings,Instrumentor instrumentor,ObjectFormatter objectFormatter,boolean propertyCacheEnabled,boolean propertyReadAheadEnabled,boolean hasPropertyOptimized,boolean hasNodeOptimized,String rootNodePath,int rootCreateMode,String rootNodeType){
  MapperBuilder builder=new MapperBuilder(resolver,typeMappings,instrumentor);
  if (!CREATE_MODES.contains(rootCreateMode)) {
    throw new IllegalArgumentException("String_Node_Str" + rootCreateMode);
  }
  Map<String,ObjectMapper> typeMapperByNodeType=new HashMap<String,ObjectMapper>();
  Map<Class<?>,ObjectMapper> typeMapperByClass=new HashMap<Class<?>,ObjectMapper>();
  for (  ObjectMapper typeMapper : builder.build()) {
    if (typeMapperByNodeType.containsKey(typeMapper.getNodeTypeName())) {
      throw new IllegalStateException("String_Node_Str" + typeMapper);
    }
    typeMapperByNodeType.put(typeMapper.getNodeTypeName(),typeMapper);
    typeMapperByClass.put(typeMapper.getObjectClass(),typeMapper);
  }
  final List<String> rootNodePathSegments;
  try {
    rootNodePathSegments=Path.splitAbsolutePath(Path.normalizeAbsolutePath(rootNodePath));
  }
 catch (  PathException e) {
    throw new BuilderException("String_Node_Str");
  }
  this.typeMapperByClass=typeMapperByClass;
  this.typeMapperByNodeType=typeMapperByNodeType;
  this.instrumentor=instrumentor;
  this.objectFormatter=objectFormatter;
  this.propertyCacheEnabled=propertyCacheEnabled;
  this.propertyReadAheadEnabled=propertyReadAheadEnabled;
  this.hasPropertyOptimized=hasPropertyOptimized;
  this.hasNodeOptimized=hasNodeOptimized;
  this.rootNodePath=rootNodePath;
  this.rootNodePathSegments=rootNodePathSegments;
  this.nodeInfoManager=new NodeInfoManager();
  this.queryManager=new QueryManager(rootNodePath);
  this.rootCreateMode=rootCreateMode;
  this.rootNodeType=rootNodeType;
}