Program: 86509
Project: 86509
Buggy source:
/** 
 * Apply explicit overrides to a set of dependencies from a project. The explicit overrides come from dependencyExclusion. However they have to be separated out from standard overrides so we can easily ignore any property references (and overwrite them).
 * @param project the current Project
 * @param dependencies dependencies to check
 * @param explicitOverrides a custom map to handle wildcard overrides
 * @param state the CommonState, to retrieve Common Properties
 * @param versionPropertyUpdateMap properties to update
 * @throws ManipulationException if an error occurs
 */
private void applyExplicitOverrides(final Project project,final HashMap<ProjectVersionRef,Dependency> dependencies,final WildcardMap<String> explicitOverrides,final CommonState state,final Map<Project,Map<String,String>> versionPropertyUpdateMap) throws ManipulationException {
  for (  final ProjectVersionRef dependency : dependencies.keySet()) {
    final ProjectRef groupIdArtifactId=new SimpleProjectRef(dependency.getGroupId(),dependency.getArtifactId());
    if (explicitOverrides.containsKey(groupIdArtifactId)) {
      final String overrideVersion=explicitOverrides.get(groupIdArtifactId);
      final String oldVersion=dependencies.get(dependency).getVersion();
      if (isEmpty(overrideVersion) || isEmpty(oldVersion)) {
        if (isEmpty(oldVersion)) {
          logger.debug("String_Node_Str" + groupIdArtifactId + "String_Node_Str");
        }
 else {
          logger.warn("String_Node_Str" + groupIdArtifactId + "String_Node_Str");
        }
      }
 else {
        for (        String target : overrideVersion.split("String_Node_Str")) {
          if (target.startsWith("String_Node_Str")) {
            logger.info("String_Node_Str",target.substring(1),dependency);
            Exclusion e=new Exclusion();
            e.setGroupId(target.substring(1).split("String_Node_Str")[0]);
            e.setArtifactId(target.split("String_Node_Str")[1]);
            dependencies.get(dependency).addExclusion(e);
          }
 else {
            logger.info("String_Node_Str",groupIdArtifactId,target);
            if (!PropertiesUtils.cacheProperty(project,state,versionPropertyUpdateMap,oldVersion,target,dependency,true)) {
              if (oldVersion.contains("String_Node_Str")) {
                logger.warn("String_Node_Str",target,oldVersion);
              }
              dependencies.get(dependency).setVersion(target);
            }
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Apply explicit overrides to a set of dependencies from a project. The explicit overrides come from dependencyExclusion. However they have to be separated out from standard overrides so we can easily ignore any property references (and overwrite them).
 * @param project the current Project
 * @param dependencies dependencies to check
 * @param explicitOverrides a custom map to handle wildcard overrides
 * @param state the CommonState, to retrieve Common Properties
 * @param versionPropertyUpdateMap properties to update
 * @throws ManipulationException if an error occurs
 */
private void applyExplicitOverrides(final Project project,final HashMap<ArtifactRef,Dependency> dependencies,final WildcardMap<String> explicitOverrides,final CommonState state,final Map<Project,Map<String,String>> versionPropertyUpdateMap) throws ManipulationException {
  for (  final ProjectVersionRef dependency : dependencies.keySet()) {
    final ProjectRef groupIdArtifactId=new SimpleProjectRef(dependency.getGroupId(),dependency.getArtifactId());
    if (explicitOverrides.containsKey(groupIdArtifactId)) {
      final String overrideVersion=explicitOverrides.get(groupIdArtifactId);
      final String oldVersion=dependencies.get(dependency).getVersion();
      if (isEmpty(overrideVersion) || isEmpty(oldVersion)) {
        if (isEmpty(oldVersion)) {
          logger.debug("String_Node_Str" + groupIdArtifactId + "String_Node_Str");
        }
 else {
          logger.warn("String_Node_Str" + groupIdArtifactId + "String_Node_Str");
        }
      }
 else {
        for (        String target : overrideVersion.split("String_Node_Str")) {
          if (target.startsWith("String_Node_Str")) {
            logger.info("String_Node_Str",target.substring(1),dependency);
            Exclusion e=new Exclusion();
            e.setGroupId(target.substring(1).split("String_Node_Str")[0]);
            e.setArtifactId(target.split("String_Node_Str")[1]);
            dependencies.get(dependency).addExclusion(e);
          }
 else {
            logger.info("String_Node_Str",groupIdArtifactId,target);
            if (!PropertiesUtils.cacheProperty(project,state,versionPropertyUpdateMap,oldVersion,target,dependency,true)) {
              if (oldVersion.contains("String_Node_Str")) {
                logger.warn("String_Node_Str",target,oldVersion);
              }
              dependencies.get(dependency).setVersion(target);
            }
          }
        }
      }
    }
  }
}