public void start(ClassPool pool) throws NotFoundException {
        classPool = pool;
        final String msg
            = "javassist.tools.reflect.Sample is not found or broken.";
        try {
            CtClass c = classPool.get("javassist.tools.reflect.Sample");
            trapMethod = c.getDeclaredMethod("trap");
            trapStaticMethod = c.getDeclaredMethod("trapStatic");
            trapRead = c.getDeclaredMethod("trapRead");
            trapWrite = c.getDeclaredMethod("trapWrite");
            readParam
                = new CtClass[] { classPool.get("java.lang.Object") };
        }
        catch (NotFoundException e) {
            throw new RuntimeException(msg);
        }
    }