class InlineExecutorService extends AbstractExecutorService {

    @Override
    public boolean awaitTermination(long timeout, TimeUnit unit) throws InterruptedException
    {
        long nanos = unit.toNanos(timeout);
        while (nanos > 0)
        {
            myLock.lock();
            try
            {
                if (isTerminated())
                {
                    return true;
                }
                nanos = myCondition.awaitNanos(nanos);
            }
            finally
            {
                myLock.unlock();
            }
        }
        return isTerminated();
    }

    public  InlineExecutorService();

}