@Override
    public @Nullable Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
      try {
        return findInvocation(method).invoke(DomInvocationHandler.this, args);
      }
      catch (InvocationTargetException ex) {
        throw ex.getTargetException();
      }
    }
@Override
    public @Nullable Object invoke(Object proxy, Method method, Object[] args)