Design pattern implementations in Java using BlueJ