Object oriented programming in Java - Gilbert, Stephen (Waite Group Press, 1997)