http://www.java-forums.org/new-java/59150-hourglass-using-recursion.html