@SuppressWarnings("unchecked")
final Class<T> proxySubclass = proxyFactory.createClass();
try {
final T newInstance = proxySubclass.newInstance();
final ProxyObject proxyObject = (ProxyObject) newInstance;
proxyObject.setHandler(new MethodHandler() {
private ThreadLocal<T> serviceByThread = new ThreadLocal<T>();
@Override
public Object invoke(final Object proxied, final Method proxyMethod, final Method proxiedMethod, final Object[] args) throws Throwable {