class FieldCache {

    public Field[] getInstanceFields(final Class<?> clazz) {
        if (clazz == null) {
            return null;
        }

        return cache.get(ClassUtil.getFriendlyClassName(clazz) + ".instance", new Callable<Field[]>() {
            @Override
            public Field[] call() throws Exception {
                return ReflectionUtil.getAllInstanceFields(clazz, true);
            }
        });
    }

    private  FieldCache();

}