code: public static InvocationHandler defaultMethodHandler() {
      return (proxy, method, args) -> {
        if (method.isDefault()) {
          return MethodHandles.lookup()
              .in(method.getDeclaringClass())
              .unreflectSpecial(method, method.getDeclaringClass())
              .bindTo(proxy)
              .invokeWithArguments(args);
        } else {
          throw new IllegalArgumentException(method.toString());
        }
      };
    }
docs: Handler for invoking interface default methods.
  This handler will throw an exception if the method is not a default method.
  
  @return handler for invoking interface default methods
  @see java.lang.reflect.Method#isDefault()