public static <T> T createProxy(final Class<T> superClass, final Class... otherInterfaces) {
    return createProxy(superClass, otherInterfaces, new InvocationHandler() {
      @Override
      public Object invoke(final Object proxy, final Method method, final Object[] args) {
        throw new AbstractMethodError(method.toString());
      }
    }, false, ArrayUtilRt.EMPTY_OBJECT_ARRAY);
  }
public static <T> T createProxy(final Class<T> superClass, final Class... otherInterfaces)