if (proxied.isEmpty()) return new AdapterPeripheral(methods, target);
Set<Class<?>> allImplemented = Sets.newHashSet(proxied);
allImplemented.add(IPeripheral.class);
InvocationHandler handler = new ProxyAdapterPeripheral(methods, target);
Class<?>[] interfaces = allImplemented.toArray(new Class<?>[allImplemented.size()]);
return (IPeripheral)Proxy.newProxyInstance(targetClass.getClassLoader(), interfaces, handler);
}