public static Object callSuper(Object proxy, Method method, Object... args) throws Throwable {
    try {
      return proxy
          .getClass()
          .getMethod(superMethodName(method), method.getParameterTypes())
          .invoke(proxy, args);
    } catch (InvocationTargetException e) {
      throw e.getCause();
    }
  }
Add

<pre>
    abstractMethodErrorMessage = method + " cannot be called";
    abstractMethodError = new AbstractMethodError(abstractMethodErrorMessage);
    throw abstractMethodError;
</pre>

<p>to the {@code code}.

@param code The code to add to
@param method The method that is abstract
@param abstractMethodErrorMessage The {@link Local} to store the error message
@param abstractMethodError The {@link Local} to store the error object
android/android_framework/dex-maker/src/main/java/com/android/dx/stock/ProxyBuilder.java