public Object createProxy(Class<?> type) {
      Object proxy = null;
      try {
         final javassist.util.proxy.ProxyFactory pf = new javassist.util.proxy.ProxyFactory();
         pf.setSuperclass(type);
         final MethodHandler methodHandler = createMethodHandler();
         proxy = pf.create(new Class<?>[0], new Object[0], methodHandler);
      } catch (final NoSuchMethodException e) {
         Preconditions.checkState(false, "ERROR in createproxy -> " + e.getMessage());
      } catch (final InstantiationException e) {
         Preconditions.checkState(false, "ERROR in createproxy -> " + e.getMessage());
      } catch (final IllegalArgumentException e) {
         Preconditions.checkState(false, "ERROR in createproxy -> " + e.getMessage());
      } catch (final IllegalAccessException e) {
         Preconditions.checkState(false, "ERROR in createproxy -> " + e.getMessage());
      } catch (final InvocationTargetException e) {
         Preconditions.checkState(false, "ERROR in createproxy -> " + e.getMessage());
      }
      return proxy;
   }