@Override
                @SuppressWarnings({"AutoBoxing", "AutoUnboxing"})
                public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                    try {
                        final ImplicitModeElement nameElement = ImplicitModeElement.this;

                        return switch (method.getName()) {
                            case "navigate" -> {
                              nameElement.navigate((Boolean)args[0]);
                              yield null;
                            }
                            case "canNavigate" -> nameElement.canNavigate();
                            case "getTextOffset" -> nameElement.getTextOffset();
                            default -> method.invoke(tag, args);
                        };
                    } catch (InvocationTargetException e1) {
                        throw e1.getTargetException();
                    }
                }
@Override
                @SuppressWarnings({"AutoBoxing", "AutoUnboxing"})
                public Object invoke(Object proxy, Method method, Object[] args)