Robust Java : exception handling, testing and debugging - STELTING (Prentice Hall, 2005)