AnnotationEnhancer enhancer = new AnnotationEnhancer();
AnnotationEnhancer enhancer = new AnnotationEnhancer(m_handler);
    private void doCompile(final URL[] classPath, final String destDir) {        logInfo("compiling annotations...");        // get all the classes        JavaClass[] classes = m_javaDocParser.getJavaClasses();        for (int i = 0; i < classes.length; i++) {            JavaClass clazz = classes[i];            logInfo("parsing class [" + clazz.getFullyQualifiedName() + ']');            try {                AnnotationEnhancer enhancer = new AnnotationEnhancer();                if (enhancer.initialize(clazz.getFullyQualifiedName(), classPath)) {                    handleClassAnnotations(enhancer, clazz);                    //handleInnerClassAnnotations(enhancer, clazz, destDir);                    JavaMethod[] methods = clazz.getMethods();                    for (int j = 0; j < methods.length; j++) {                        JavaMethod method = methods[j];                        if (method.isConstructor()) {                            handleConstructorAnnotations(enhancer, method);                        } else {                            handleMethodAnnotations(enhancer, method);                        }                    }                    JavaField[] fields = clazz.getFields();                    for (int j = 0; j < fields.length; j++) {                        handleFieldAnnotations(enhancer, fields[j]);                    }                    // write enhanced class to disk                    enhancer.write(destDir);                }            } catch (ParseException pe) {                m_handler.error(pe);                // non critical, go on            } catch (CompilerException ce) {                m_handler.error(ce);                return;            } catch (Throwable t) {                t.printStackTrace();                m_handler.error(                        new CompilerException(                                "could not compile annotations for class ["//FIXME location                                + clazz.getFullyQualifiedName() +                                "] due to: " +                                t.toString()                        )                );                return;            }        }        logInfo("compiled classes written to " + destDir);        logInfo("compilation successful");    }