Program: 49006
Project: 49006
Buggy source:
private Map<String,Integer> collectResourcePoolInfo(List<BaseNode> vNodes,Map<String,List<String>> vcClusterRpNamesMap,Map<Long,List<String>> rpNodeGroupNamesMap){
  List<String> resourcePoolNames=null;
  List<String> nodeGroupNames=null;
  int resourcePoolNameCount=0;
  int nodeGroupNameCount=0;
  for (  BaseNode baseNode : vNodes) {
    String vcCluster=baseNode.getTargetVcCluster();
    AuAssert.check(!CommonUtil.isBlank(vcCluster),"String_Node_Str");
    if (!vcClusterRpNamesMap.containsKey(vcCluster)) {
      resourcePoolNames=new ArrayList<String>();
    }
 else {
      resourcePoolNames=vcClusterRpNamesMap.get(vcCluster);
    }
    String vcRp=baseNode.getTargetRp();
    long rpHashCode=vcCluster.hashCode() ^ (vcCluster + vcRp).hashCode();
    if (!rpNodeGroupNamesMap.containsKey(rpHashCode)) {
      nodeGroupNames=new ArrayList<String>();
    }
 else {
      nodeGroupNames=rpNodeGroupNamesMap.get(rpHashCode);
    }
    String nodeGroupName=baseNode.getNodeGroup().getName();
    if (!nodeGroupNames.contains(nodeGroupName)) {
      nodeGroupNames.add(nodeGroupName);
      rpNodeGroupNamesMap.put(rpHashCode,nodeGroupNames);
      nodeGroupNameCount++;
    }
    if (!resourcePoolNames.contains(vcRp)) {
      resourcePoolNames.add(vcRp);
      vcClusterRpNamesMap.put(vcCluster,resourcePoolNames);
      resourcePoolNameCount++;
    }
  }
  Map<String,Integer> countResult=new HashMap<String,Integer>();
  countResult.put("String_Node_Str",resourcePoolNameCount);
  countResult.put("String_Node_Str",nodeGroupNameCount);
  return countResult;
}

Fixed version (ground truth):
private Map<String,Integer> collectResourcePoolInfo(List<BaseNode> vNodes,Map<String,List<String>> vcClusterRpNamesMap,Map<Long,List<String>> rpNodeGroupNamesMap){
  List<String> resourcePoolNames=null;
  List<String> nodeGroupNames=null;
  int resourcePoolNameCount=0;
  int nodeGroupNameCount=0;
  for (  BaseNode baseNode : vNodes) {
    String vcCluster=baseNode.getTargetVcCluster();
    VcCluster cluster=VcResourceUtils.findVcCluster(vcCluster);
    if (!cluster.getConfig().getDRSEnabled()) {
      logger.debug("String_Node_Str" + vcCluster + "String_Node_Str");
      continue;
    }
    AuAssert.check(!CommonUtil.isBlank(vcCluster),"String_Node_Str");
    if (!vcClusterRpNamesMap.containsKey(vcCluster)) {
      resourcePoolNames=new ArrayList<String>();
    }
 else {
      resourcePoolNames=vcClusterRpNamesMap.get(vcCluster);
    }
    String vcRp=baseNode.getTargetRp();
    long rpHashCode=vcCluster.hashCode() ^ (vcCluster + vcRp).hashCode();
    if (!rpNodeGroupNamesMap.containsKey(rpHashCode)) {
      nodeGroupNames=new ArrayList<String>();
    }
 else {
      nodeGroupNames=rpNodeGroupNamesMap.get(rpHashCode);
    }
    String nodeGroupName=baseNode.getNodeGroup().getName();
    if (!nodeGroupNames.contains(nodeGroupName)) {
      nodeGroupNames.add(nodeGroupName);
      rpNodeGroupNamesMap.put(rpHashCode,nodeGroupNames);
      nodeGroupNameCount++;
    }
    if (!resourcePoolNames.contains(vcRp)) {
      resourcePoolNames.add(vcRp);
      vcClusterRpNamesMap.put(vcCluster,resourcePoolNames);
      resourcePoolNameCount++;
    }
  }
  Map<String,Integer> countResult=new HashMap<String,Integer>();
  countResult.put("String_Node_Str",resourcePoolNameCount);
  countResult.put("String_Node_Str",nodeGroupNameCount);
  return countResult;
}