code: @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);
      }
    }
docs: Get object instance field value. Reflective field argument should have accessibility set to true and this condition
  is fulfilled if field is obtained via {@link #getField(Class, String)}.
  
  @param object instance to retrieve field value from,
  @param field object reflective field.
  @param <T> field type.
  @return field value, possible null.