contains example implementations of the gang of four patterns in Java