Program: 49190
Project: 49190
Buggy source:
@SuppressWarnings("String_Node_Str") private static <T>void validateBySameFileName(String fileName,Object configProperties,List<Map<String,T>> warnPropertyList,ValidateResult validateResult,ValidationType validationType){
  for (  Map<String,T> warnPropertyFileMap : warnPropertyList) {
    if (warnPropertyFileMap.containsKey(fileName) && configProperties instanceof Map) {
      Map<String,Object> configPropertyMap=(Map<String,Object>)configProperties;
      for (      Entry<String,Object> configProperty : configPropertyMap.entrySet()) {
        if (validationType == ValidationType.WHITE_LIST) {
          for (          Entry<String,T> warnPropertyFileEntry : warnPropertyFileMap.entrySet()) {
            if (warnPropertyFileEntry.getValue() instanceof List) {
              List<Object> propertyList=(List<Object>)warnPropertyFileEntry.getValue();
              if (!validateWhiteListPropertis(propertyList,configProperty.getKey(),String.valueOf(configProperty.getValue()),validateResult)) {
              }
            }
          }
        }
 else         if (validationType == ValidationType.BLACK_LIST) {
          for (          Entry<String,T> warnPropertyFileEntry : warnPropertyFileMap.entrySet()) {
            if (warnPropertyFileEntry.getValue() instanceof List) {
              List<String> propertyList=(List<String>)warnPropertyFileEntry.getValue();
              for (              String propertyName : propertyList) {
                if (configProperty.getKey().equals(propertyName)) {
                  validateResult.setType(ValidateResult.Type.NAME_IN_BLACK_LIST);
                  validateResult.addFailureName(configProperty.getKey());
                }
              }
            }
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") private static <T>void validateBySameFileName(String fileName,Object configProperties,List<Map<String,T>> warnPropertyList,ValidateResult validateResult,ValidationType validationType){
  for (  Map<String,T> warnPropertyFileMap : warnPropertyList) {
    if (warnPropertyFileMap.containsKey(fileName) && configProperties instanceof Map) {
      Map<String,Object> configPropertyMap=(Map<String,Object>)configProperties;
      List<String> removeList=new ArrayList<String>();
      for (      Entry<String,Object> configProperty : configPropertyMap.entrySet()) {
        if (validationType == ValidationType.WHITE_LIST) {
          for (          Entry<String,T> warnPropertyFileEntry : warnPropertyFileMap.entrySet()) {
            if (warnPropertyFileEntry.getValue() instanceof List) {
              List<Object> propertyList=(List<Object>)warnPropertyFileEntry.getValue();
              if (!validateWhiteListPropertis(propertyList,configProperty.getKey(),String.valueOf(configProperty.getValue()),validateResult)) {
              }
            }
          }
        }
 else         if (validationType == ValidationType.BLACK_LIST) {
          for (          Entry<String,T> warnPropertyFileEntry : warnPropertyFileMap.entrySet()) {
            if (warnPropertyFileEntry.getValue() instanceof List) {
              List<String> propertyList=(List<String>)warnPropertyFileEntry.getValue();
              for (              String propertyName : propertyList) {
                if (configProperty.getKey().equals(propertyName)) {
                  validateResult.setType(ValidateResult.Type.NAME_IN_BLACK_LIST);
                  validateResult.addFailureName(configProperty.getKey());
                  validateResult.putProperty(fileName,propertyName);
                  removeList.add(propertyName);
                }
              }
            }
          }
        }
      }
      for (      String pName : removeList) {
        configPropertyMap.remove(pName);
      }
    }
  }
}