@SuppressWarnings("unchecked")
  private static <T> Constructor<T>[] getConstructorsToOverwrite(Class<T> clazz) {
    return (Constructor<T>[]) clazz.getDeclaredConstructors();
  }
The super method must include the return type, otherwise its ambiguous for methods with
covariant return types.
android/android_framework/dex-maker/src/main/java/com/android/dx/stock/ProxyBuilder.java