Program: 63926
Project: 63926
Buggy source:
public Map<String,String> transformObjectToStringMap(Object o,String... exclude){
  Map<String,String> result=new HashMap<>();
  Class<?> current=o.getClass();
  while (current.getSuperclass() != null) {
    for (    Field field : current.getDeclaredFields()) {
      if (!Arrays.asList(exclude).contains(field.getName())) {
        if (field.getType().isAssignableFrom(Map.class)) {
          field.setAccessible(true);
          try {
            Map<Object,Object> o1=(Map<Object,Object>)field.get(o);
            for (            Map.Entry<Object,Object> objectObjectEntry : o1.entrySet()) {
              result.put(field.getName() + "String_Node_Str" + objectObjectEntry.getKey(),objectObjectEntry.getValue().toString());
            }
          }
 catch (          IllegalAccessException e) {
            result.put(field.getName(),"String_Node_Str");
          }
        }
 else         if (!field.getType().isLocalClass()) {
          field.setAccessible(true);
          try {
            result.put(field.getName(),field.get(o) == null ? null : field.get(o).toString());
          }
 catch (          IllegalAccessException e) {
            result.put(field.getName(),"String_Node_Str");
          }
        }
 else {
          for (          Field field1 : field.getType().getDeclaredFields()) {
            field1.setAccessible(true);
            try {
              result.put(field1.getName(),field1.get(o) == null ? null : field1.get(o).toString());
            }
 catch (            IllegalAccessException e) {
              result.put(field.getName() + "String_Node_Str" + field1.getName(),"String_Node_Str");
            }
          }
        }
      }
    }
    current=current.getSuperclass();
  }
  return result;
}

Fixed version (ground truth):
public Map<String,String> transformObjectToStringMap(Object o,String... exclude){
  Map<String,String> result=new HashMap<>();
  Class<?> current=o.getClass();
  while (current.getSuperclass() != null) {
    for (    Field field : current.getDeclaredFields()) {
      if (!Arrays.asList(exclude).contains(field.getName())) {
        if (field.getType().isAssignableFrom(Map.class)) {
          field.setAccessible(true);
          try {
            Map<Object,Object> o1=(Map<Object,Object>)field.get(o);
            for (            Map.Entry<Object,Object> objectObjectEntry : o1.entrySet()) {
              result.put(field.getName() + "String_Node_Str" + objectObjectEntry.getKey(),objectObjectEntry.getValue() == null ? "String_Node_Str" : objectObjectEntry.getValue().toString());
            }
          }
 catch (          IllegalAccessException e) {
            result.put(field.getName(),"String_Node_Str");
          }
        }
 else         if (!field.getType().isLocalClass()) {
          field.setAccessible(true);
          try {
            result.put(field.getName(),field.get(o) == null ? null : field.get(o).toString());
          }
 catch (          IllegalAccessException e) {
            result.put(field.getName(),"String_Node_Str");
          }
        }
 else {
          for (          Field field1 : field.getType().getDeclaredFields()) {
            field1.setAccessible(true);
            try {
              result.put(field1.getName(),field1.get(o) == null ? null : field1.get(o).toString());
            }
 catch (            IllegalAccessException e) {
              result.put(field.getName() + "String_Node_Str" + field1.getName(),"String_Node_Str");
            }
          }
        }
      }
    }
    current=current.getSuperclass();
  }
  return result;
}