Contains examples from Cay Horstmann's book -