class UndertowDtpAdapter extends AbstractWebServerDtpAdapter<XnioWorker> {

    private static final String TP_PREFIX = "undertowTp";

    public UndertowDtpAdapter() {
        super();
        System.setProperty("jboss.threads.eqe.statistics.active-count", "true");
        System.setProperty("jboss.threads.eqe.statistics", "true");
    }

    @Override
    public void doEnhance(WebServer webServer) {<FILL_FUNCTION_BODY>}

    @Override
    public void refresh(DtpProperties dtpProperties) {
        refresh(executors.get(getTpName()), dtpProperties.getPlatforms(), dtpProperties.getUndertowTp());
    }

    @Override
    protected String getTpPrefix() {
        return TP_PREFIX;
    }
}

        val undertowServletWebServer = (UndertowServletWebServer) webServer;
        val undertow = (Undertow) ReflectionUtil.getFieldValue(UndertowServletWebServer.class,
                "undertow", undertowServletWebServer);
        if (Objects.isNull(undertow)) {
            return;
        }
        XnioWorker xnioWorker = undertow.getWorker();
        Object taskPool = ReflectionUtil.getFieldValue(XnioWorker.class, "taskPool", xnioWorker);
        if (Objects.isNull(taskPool)) {
            return;
        }
        val handler = TaskPoolHandlerFactory.getTaskPoolHandler(taskPool.getClass().getSimpleName());
        String internalExecutor = handler.taskPoolType().getInternalExecutor();
        Object executor = ReflectionUtil.getFieldValue(taskPool.getClass(), internalExecutor, taskPool);
        String tpName = getTpName();
        if (executor instanceof ThreadPoolExecutor) {
            enhanceOriginExecutor(tpName, (ThreadPoolExecutor) executor, internalExecutor, taskPool);
        } else if (executor instanceof EnhancedQueueExecutor) {
            try {
                val proxy = new EnhancedQueueExecutorProxy((EnhancedQueueExecutor) executor);
                ReflectionUtil.setFieldValue(internalExecutor, taskPool, proxy);
                putAndFinalize(tpName, (ExecutorService) executor, new EnhancedQueueExecutorAdapter(proxy));
            } catch (Throwable t) {
                log.error("DynamicTp adapter, enhance {} failed, please adjust the order of the two dependencies" +
                        "(starter-undertow and starter-adapter-webserver) and try again.", tpName, t);
                executors.put(tpName, new ExecutorWrapper(tpName, handler.adapt(executor)));
            }
        } else {
            executors.put(tpName, new ExecutorWrapper(tpName, handler.adapt(executor)));
        }
    
<methods>public non-sealed void <init>() ,public void onApplicationEvent(ApplicationEvent) <variables>