class InterruptingExecutor implements ScheduledExecutorService {

    @Override
    public void shutdown()
    {
        myShutdown = true;
        myOvertimeGuard.setCancelAfterNextRun();
        if (myExecutor instanceof ExecutorService)
        {
            ((ExecutorService)myExecutor).shutdown();
        }
    }

    public  InterruptingExecutor(Executor wrappedExecutor, long timeLimitMilliseconds);

}