if (targets.length == 1) { int i; for (i = 0; i < types.length; i++) { if (!types[i].isAssignableFrom(targets[0].getClass())) { break; } } if (i == types.length) { return targets[0]; } }
	public static Object object(Class[] types, ProxyFactory proxyFactory, Object[] targets) {	    return new MulticastingInvoker(types, proxyFactory, targets).proxy();	}