Program: 53206
Project: 53206
Buggy source:
@Nullable @SuppressWarnings({"String_Node_Str","String_Node_Str"}) public TargetNode<?> get(BuildTarget buildTarget) throws IOException, InterruptedException {
  TargetNode<?> toReturn=memoizedTargetNodes.get(buildTarget);
  if (toReturn != null) {
    return toReturn;
  }
  Repository targetRepo=repositoryFactory.getRepositoryByCanonicalName(buildTarget.getRepository());
  Path buildFilePath;
  try {
    buildFilePath=targetRepo.getAbsolutePathToBuildFile(buildTarget);
  }
 catch (  Repository.MissingBuildFileException e) {
    throw new HumanReadableException(e);
  }
  UnflavoredBuildTarget unflavored=buildTarget.getUnflavoredBuildTarget();
  List<Map<String,Object>> rules=state.getRawRules(buildFilePath);
  for (  Map<String,Object> map : rules) {
    if (!buildTarget.getShortName().equals(map.get("String_Node_Str"))) {
      continue;
    }
    BuildRuleType buildRuleType=parseBuildRuleTypeFromRawRule(map);
    targetsToFile.put(BuildTarget.of(unflavored),normalize(Paths.get((String)map.get("String_Node_Str"))).resolve(buildFileName).toAbsolutePath());
    Description<?> description=repository.getDescription(buildRuleType);
    if (description == null) {
      throw new HumanReadableException("String_Node_Str",buildRuleType,UnflavoredBuildTarget.BUILD_TARGET_PREFIX,unflavored.getBasePath().resolve(buildFileName));
    }
    if (buildTarget.isFlavored()) {
      if (description instanceof Flavored) {
        if (!((Flavored)description).hasFlavors(ImmutableSet.copyOf(buildTarget.getFlavors()))) {
          throw new HumanReadableException("String_Node_Str",buildTarget,UnflavoredBuildTarget.BUILD_TARGET_PREFIX,buildTarget.getBasePath().resolve(buildFileName));
        }
      }
 else {
        LOG.warn("String_Node_Str" + "String_Node_Str",buildTarget.getUnflavoredBuildTarget(),buildRuleType,buildTarget.getFlavors());
        throw new HumanReadableException("String_Node_Str",buildTarget.getUnflavoredBuildTarget(),buildRuleType,buildTarget.getFlavors());
      }
    }
    this.pathsToBuildTargets.put(buildFilePath,buildTarget);
    BuildRuleFactoryParams factoryParams=new BuildRuleFactoryParams(targetRepo.getFilesystem(),targetRepo.getBuildTargetParser(),buildTarget,ruleKeyBuilderFactory,buildFileTreeCache.get(),enforceBuckPackageBoundary);
    Object constructorArg=description.createUnpopulatedConstructorArg();
    TargetNode<?> targetNode;
    try {
      ImmutableSet.Builder<BuildTarget> declaredDeps=ImmutableSet.builder();
      ImmutableSet.Builder<BuildTargetPattern> visibilityPatterns=ImmutableSet.builder();
      marshaller.populate(targetRepo.getFilesystem(),factoryParams,constructorArg,declaredDeps,visibilityPatterns,map);
      targetNode=new TargetNode(description,constructorArg,factoryParams,declaredDeps.build(),visibilityPatterns.build());
    }
 catch (    NoSuchBuildTargetException|TargetNode.InvalidSourcePathInputException e) {
      throw new HumanReadableException(e);
    }
catch (    ConstructorArgMarshalException e) {
      throw new HumanReadableException("String_Node_Str",buildTarget,e.getMessage());
    }
    Map<Path,Path> newSymlinksEncountered=Maps.newHashMap();
    if (inputFilesUnderSymlink(targetNode.getInputs(),targetRepo.getFilesystem(),symlinkExistenceCache,newSymlinksEncountered)) {
      LOG.warn("String_Node_Str" + "String_Node_Str" + "String_Node_Str",targetNode.getBuildTarget(),newSymlinksEncountered);
      buildInputPathsUnderSymlink.add(buildFilePath);
    }
    TargetNode<?> existingTargetNode=memoizedTargetNodes.put(buildTarget,targetNode);
    if (existingTargetNode != null) {
      throw new HumanReadableException("String_Node_Str" + unflavored);
    }
  }
  return memoizedTargetNodes.get(buildTarget);
}

Fixed version (ground truth):
@Nullable @SuppressWarnings({"String_Node_Str","String_Node_Str"}) public TargetNode<?> get(BuildTarget buildTarget) throws IOException, InterruptedException {
  TargetNode<?> toReturn=memoizedTargetNodes.get(buildTarget);
  if (toReturn != null) {
    return toReturn;
  }
  Repository targetRepo=repositoryFactory.getRepositoryByCanonicalName(buildTarget.getRepository());
  Path buildFilePath;
  try {
    buildFilePath=targetRepo.getAbsolutePathToBuildFile(buildTarget);
  }
 catch (  Repository.MissingBuildFileException e) {
    throw new HumanReadableException(e);
  }
  UnflavoredBuildTarget unflavored=buildTarget.getUnflavoredBuildTarget();
  List<Map<String,Object>> rules=state.getRawRules(buildFilePath);
  for (  Map<String,Object> map : rules) {
    if (!buildTarget.getShortName().equals(map.get("String_Node_Str"))) {
      continue;
    }
    BuildRuleType buildRuleType=parseBuildRuleTypeFromRawRule(map);
    targetsToFile.put(BuildTarget.of(unflavored),normalize(Paths.get((String)map.get("String_Node_Str"))).resolve(buildFileName).toAbsolutePath());
    Description<?> description=repository.getDescription(buildRuleType);
    if (description == null) {
      throw new HumanReadableException("String_Node_Str",buildRuleType,UnflavoredBuildTarget.BUILD_TARGET_PREFIX,MorePaths.pathWithUnixSeparators(unflavored.getBasePath().resolve(buildFileName)));
    }
    if (buildTarget.isFlavored()) {
      if (description instanceof Flavored) {
        if (!((Flavored)description).hasFlavors(ImmutableSet.copyOf(buildTarget.getFlavors()))) {
          throw new HumanReadableException("String_Node_Str",buildTarget,UnflavoredBuildTarget.BUILD_TARGET_PREFIX,MorePaths.pathWithUnixSeparators(buildTarget.getBasePath().resolve(buildFileName)));
        }
      }
 else {
        LOG.warn("String_Node_Str" + "String_Node_Str",buildTarget.getUnflavoredBuildTarget(),buildRuleType,buildTarget.getFlavors());
        throw new HumanReadableException("String_Node_Str",buildTarget.getUnflavoredBuildTarget(),buildRuleType,buildTarget.getFlavors());
      }
    }
    this.pathsToBuildTargets.put(buildFilePath,buildTarget);
    BuildRuleFactoryParams factoryParams=new BuildRuleFactoryParams(targetRepo.getFilesystem(),targetRepo.getBuildTargetParser(),buildTarget,ruleKeyBuilderFactory,buildFileTreeCache.get(),enforceBuckPackageBoundary);
    Object constructorArg=description.createUnpopulatedConstructorArg();
    TargetNode<?> targetNode;
    try {
      ImmutableSet.Builder<BuildTarget> declaredDeps=ImmutableSet.builder();
      ImmutableSet.Builder<BuildTargetPattern> visibilityPatterns=ImmutableSet.builder();
      marshaller.populate(targetRepo.getFilesystem(),factoryParams,constructorArg,declaredDeps,visibilityPatterns,map);
      targetNode=new TargetNode(description,constructorArg,factoryParams,declaredDeps.build(),visibilityPatterns.build());
    }
 catch (    NoSuchBuildTargetException|TargetNode.InvalidSourcePathInputException e) {
      throw new HumanReadableException(e);
    }
catch (    ConstructorArgMarshalException e) {
      throw new HumanReadableException("String_Node_Str",buildTarget,e.getMessage());
    }
    Map<Path,Path> newSymlinksEncountered=Maps.newHashMap();
    if (inputFilesUnderSymlink(targetNode.getInputs(),targetRepo.getFilesystem(),symlinkExistenceCache,newSymlinksEncountered)) {
      LOG.warn("String_Node_Str" + "String_Node_Str" + "String_Node_Str",targetNode.getBuildTarget(),newSymlinksEncountered);
      buildInputPathsUnderSymlink.add(buildFilePath);
    }
    TargetNode<?> existingTargetNode=memoizedTargetNodes.put(buildTarget,targetNode);
    if (existingTargetNode != null) {
      throw new HumanReadableException("String_Node_Str" + unflavored);
    }
  }
  return memoizedTargetNodes.get(buildTarget);
}