class QueuedThreadPoolProxy extends QueuedThreadPool {

    public QueuedThreadPoolProxy(QueuedThreadPool threadPool, BlockingQueue<Runnable> queue,
                                 ThreadGroup threadGroup, ThreadFactory threadFactory) {
        super(threadPool.getMaxThreads(), threadPool.getMinThreads(), threadPool.getIdleTimeout(),
                threadPool.getReservedThreads(), queue, threadGroup, threadFactory);
        try {
            Object counts = ReflectionUtil.getFieldValue("_counts", threadPool);
            ReflectionUtil.setFieldValue("_counts", this, counts);
            Object tryExecutor = ReflectionUtil.getFieldValue("_tryExecutor", threadPool);
            if (tryExecutor instanceof ReservedThreadExecutor) {
                ReservedThreadExecutor rtExecutor = (ReservedThreadExecutor) tryExecutor;
                if (rtExecutor.getExecutor() == threadPool) {
                    ReflectionUtil.setFieldValue("_executor", rtExecutor, this);
                }
            }
        } catch (IllegalAccessException e) {
            log.error("DynamicTp enhance origin executor of QueuedThreadPool failed.", e);
        }
    }

    @Override
    public void execute(Runnable runnable) {<FILL_FUNCTION_BODY>}
}

        EnhancedRunnable enhanceTask = EnhancedRunnable.of(runnable, this);
        AwareManager.execute(this, enhanceTask);
        try {
            super.execute(enhanceTask);
        } catch (RejectedExecutionException e) {
            AwareManager.beforeReject(enhanceTask, this);
            throw e;
        }
    
<no_super_class>