JAVA programming: advanced topics/3rd ed. - Wigglesworth,Joe (Cengage learning, 2011)