public synchronized int stop() {
        here = there;
        notifyAll();

        while ((load <= 0 && waitSum() == 0) || (waitEntry[here] > 0 && load < 4) || (waitExit[0] == here || waitExit[1] == here || waitExit[2] == here || waitExit[3] == here)) {
            try { wait(); }
            catch (InterruptedException e) { e.printStackTrace(); }
        }

        return here;
    }