class Origami implements Runnable {
    public Origami(Object paper){
        this.paper = paper;
    }

    public void run(){
        while(true){
            Object paper = getPaper();
            synchronized(paper){
                System.out.println("Origami.");
                // Release the paper.
                paper.notify();
            }
        }
    }

    protected Object getPaper(){
        return paper;
    }

    private final Object paper;
}
