var ThreadPoolExecutor = Java.use("java.util.concurrent.ThreadPoolExecutor");
ThreadPoolExecutor.execute.implementation = function (a) {
showStacks();
console.log("ThreadPoolExecutor ============================================== ");
return this.execute(a);
}
ThreadPoolExecutor.submit.overload('java.lang.Runnable').implementation = function (a) {
showStacks();
console.log("ThreadPoolExecutor ============================================== ");
return this.submit(a);
}
ThreadPoolExecutor.submit.overload('java.util.concurrent.Callable').implementation = function (a) {
showStacks();
console.log("ThreadPoolExecutor ============================================== ");
return this.submit(a);
}
ThreadPoolExecutor.submit.overload('java.lang.Runnable', 'java.lang.Object').implementation = function (a, b) {
showStacks();
console.log("ThreadPoolExecutor ============================================== ");
return this.submit(a, b);
}