Concurrent programming in Java : design principles and patterns - Lea, Douglas. (Addison Wesley, 1997)