@SuppressWarnings("unchecked")
    public static <T> T newInstance(Object obj, Interceptor interceptor) {
        return (T) java.lang.reflect.Proxy.newProxyInstance(
                obj.getClass().getClassLoader(),
                obj.getClass().getInterfaces(),
                new ObjectProxy(obj, interceptor));
    }