Program: 85573
Project: 85573
Buggy source:
private AttributeMetadata buildAttributeMetadata(Class<?> configClass,Config config,Method configMethod){
  if (config.value() == null || config.value().isEmpty()) {
    errors.add("String_Node_Str",configMethod.toGenericString());
    return null;
  }
  String description=null;
  if (configMethod.isAnnotationPresent(ConfigDescription.class)) {
    description=configMethod.getAnnotation(ConfigDescription.class).value();
  }
  String attributeName=configMethod.getName();
  if (attributeName.startsWith("String_Node_Str")) {
    attributeName=attributeName.substring(3);
    if (configMethod.getParameterTypes().length != 1) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    Method getter=null;
    try {
      getter=configClass.getMethod("String_Node_Str" + attributeName);
    }
 catch (    Exception ignored) {
    }
    return new AttributeMetadata(configClass,attributeName,description,config.value(),getter,configMethod);
  }
 else   if (attributeName.startsWith("String_Node_Str")) {
    attributeName=attributeName.substring(3);
    if (configMethod.getParameterTypes().length != 0) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    if (configMethod.getReturnType() == Void.TYPE) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    Method setter=findSetter(configClass,configMethod,attributeName);
    if (setter == null) {
      return null;
    }
    return new AttributeMetadata(configClass,attributeName,description,config.value(),configMethod,setter);
  }
 else   if (attributeName.startsWith("String_Node_Str")) {
    attributeName=attributeName.substring(2);
    if (configMethod.getParameterTypes().length != 0) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    if (!configMethod.getReturnType().equals(boolean.class) && !configMethod.getReturnType().equals(Boolean.class)) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    Method setter=findSetter(configClass,configMethod,attributeName);
    if (setter == null) {
      return null;
    }
    return new AttributeMetadata(configClass,attributeName,description,config.value(),configMethod,setter);
  }
 else {
    errors.add("String_Node_Str",configMethod.toGenericString());
    return null;
  }
}

Fixed version (ground truth):
private AttributeMetadata buildAttributeMetadata(Class<?> configClass,Config config,Method configMethod,boolean legacy){
  if (config.value() == null || config.value().isEmpty()) {
    errors.add("String_Node_Str",configMethod.toGenericString());
    return null;
  }
  String description=null;
  if (configMethod.isAnnotationPresent(ConfigDescription.class)) {
    description=configMethod.getAnnotation(ConfigDescription.class).value();
  }
  String attributeName=configMethod.getName();
  if (attributeName.startsWith("String_Node_Str")) {
    attributeName=attributeName.substring(3);
    if (configMethod.getParameterTypes().length != 1) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    Method getter=null;
    try {
      getter=configClass.getMethod("String_Node_Str" + attributeName);
    }
 catch (    Exception ignored) {
    }
    return new AttributeMetadata(configClass,attributeName,description,config.value(),getter,configMethod);
  }
 else   if (attributeName.startsWith("String_Node_Str")) {
    attributeName=attributeName.substring(3);
    if (configMethod.getParameterTypes().length != 0) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    if (configMethod.getReturnType() == Void.TYPE) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    Method setter=null;
    if (!legacy) {
      setter=findSetter(configClass,configMethod,attributeName);
      if (setter == null) {
        return null;
      }
    }
    return new AttributeMetadata(configClass,attributeName,description,config.value(),configMethod,setter);
  }
 else   if (attributeName.startsWith("String_Node_Str")) {
    attributeName=attributeName.substring(2);
    if (configMethod.getParameterTypes().length != 0) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    if (!configMethod.getReturnType().equals(boolean.class) && !configMethod.getReturnType().equals(Boolean.class)) {
      errors.add("String_Node_Str",configMethod.toGenericString());
    }
    Method setter=findSetter(configClass,configMethod,attributeName);
    if (setter == null) {
      return null;
    }
    return new AttributeMetadata(configClass,attributeName,description,config.value(),configMethod,setter);
  }
 else {
    errors.add("String_Node_Str",configMethod.toGenericString());
    return null;
  }
}