public static Object getValue(Field f, Object o) {
        try {
            makeAccessible(f);
            return f.get(o);
        } catch (ReflectiveOperationException ex) {
            throw new RuntimeException(ex);
        }
    }