docs: @SuppressWarnings("unchecked")
    public static <T> T getFieldValue(Object object, Field field)
    {
      assert field.isAccessible();
      try {
        return (T)field.get(object);
      }
      catch(IllegalAccessException e) {
        throw new BugError(e);
      }
    }