code: private static Object invokeDefault(final Object proxy, final Method method, final Object[] args) {
  
          final Class<?> declaringClass = method.getDeclaringClass();
          try {
              return lookupIn(declaringClass).unreflectSpecial(method, declaringClass)
                      .bindTo(proxy)
                      .invokeWithArguments(args);
          } catch (Throwable throwable) {
              throw new RuntimeException(throwable);
          }
      }
docs: Invokes a default method. Default methods are implemented in an interface which is overrided by applying the
  interface to the proxy. This method allows to invoke the default method on the proxy itselfs bypassing the
  overriden method.
  
  @param proxy  the proxy object on which the method should be invoked
  @param method the method to be invoked
  @param args   arguments that are passed to the method
  @return the return value of the invocation
  @throws Throwable