Source: https://www.ibm.com/developerworks/rational/cafe/docBodyAttachments/3326-102-1-6837/Lab04_debug.pdf