public void run() {
        try {
            while(!Thread.interrupted()) {
                System.out.println(this + " thinking");
                pause();
                System.out.println(this + " take right");
                right.take();
                System.out.println(this + " take left");
                left.take();
                System.out.println(this + " eating");
                pause();
                right.drop();
                left.drop();
            }
        } catch (InterruptedException e) {
            System.out.println(this + " exiting via interrupt");
        }
    }