debugger/wam_debugger/src/main/com/thesett/aima/logic/fol/wam/debugger/monitor/BreakpointMonitor.java
public void pause()
    {
        try
        {
            lock.lock();

            try
            {
                released.await();
            }
            catch (InterruptedException e)
            {
                // Exception set to null as compensation action of returning immediately with current thread interrupted
                // is taken.
                e = null;
                Thread.currentThread().interrupt();

                return;
            }
        }
        finally
        {
            lock.unlock();
        }
    }
public void pause()
    {
        try
        {
            lock.lock();

            try
            {
                released.await();
            }
            catch (InterruptedException e)
            {
                // Exception set to null as compensation action of returning immediately with current thread interrupted
                // is taken.
                e = null;
                Thread.currentThread().interrupt();

                return;
            }
        }
        finally
        {
            lock.unlock();
        }
    }
Pauses any calling thread, until {@link #released} is invoked.