public static void setField(
      final Object object, final String fieldName, final Object fieldNewValue) {
    try {
      traverseClassHierarchy(
          object.getClass(),
          NoSuchFieldException.class,
          (InsideTraversal<Void>)
              traversalClass -> {
                Field field = traversalClass.getDeclaredField(fieldName);
                field.setAccessible(true);
                field.set(object, fieldNewValue);
                return null;
              });
    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
@Test
  public void setFieldReflectively_setsPrivateFields() {
    ExampleDescendant example = new ExampleDescendant();
    example.overridden = 5;
    ReflectionHelpers.setField(example, "overridden", 10);
    assertThat(example.overridden).isEqualTo(10);
  }