A collection of software patterns implemented in Java