public static Field getDeclaredField(Class<?> c, String name) {
        try {
            final Field f = c.getDeclaredField(name);
            makeAccessible(f);
            return f;
        } catch (NoSuchFieldException ex) {
            throw new RuntimeException(ex);
        }
    }