class FixedThreadPoolExecutor extends AbstractExecutorService {

    @Override
    public List<Runnable> shutdownNow()
    {
        myStopExecuting = true;

        myAddLock.lock();
        try
        {
            myShuttingDown = true;
        }
        finally
        {
            myAddLock.unlock();
        }

        List<Runnable> unrun = new ArrayList<>();
        myQueue.drainTo(unrun);

        synchronized (myWorkers)
        {
            for (Worker worker : myWorkers)
            {
                worker.interrupt();
            }
        }

        return unrun;
    }

    public  FixedThreadPoolExecutor(int nThreads);
    public  FixedThreadPoolExecutor(int nThreads, NamedThreadFactory factory, SuppressableRejectedExecutionHandler handler);
    public  FixedThreadPoolExecutor(int nThreads, ThreadFactory factory);
    public  FixedThreadPoolExecutor(int nThreads, ThreadFactory factory, BlockingQueue<Runnable> queue);
    public  FixedThreadPoolExecutor(int nThreads, ThreadFactory factory, BlockingQueue<Runnable> queue,
            RejectedExecutionHandler handler);

}