Advanced programming in Java (PHI, 2004)