private void destroyThreadResources() { if (!taskRunner_is_external) { taskRunner.close(); taskRunner = null; } if (!asyncEventQueue_is_external) { asyncEventQueue.close(); asyncEventQueue = null; } if (!timer_is_external) { timer.cancel(); timer = null; } this.liveChildren = null; }