Java library for building custom debugger applications using the Java Debug Interface (JDI) and the visitor design pattern