static A nuLike proxy(Class intrface, final O target) {
if (target == null) null;
if (isInstance(intrface, target)) ret (A) target;
ret (A) java.lang.reflect.Proxy.newProxyInstance(intrface.getClassLoader(),
new Class[] { intrface },
new InvocationHandler {
public O invoke(O proxy, Method method, O[] args) {
ret call(target, method.getName(), unnull(args));
}
});
}
static A proxy(O target, Class intrface) {
ret proxy(intrface, target);
}