public boolean start(RootDoc root) {
        Object retVal;
        String methodName = "start";
        Class[] paramTypes = new Class[1];
        Object[] params = new Object[1];
        paramTypes[0] = RootDoc.class;
        params[0] = root;
        try {
            retVal = invoke(methodName, null, paramTypes, params);
        } catch (DocletInvokeException exc) {
            return false;
        }
        if (retVal instanceof Boolean) {
            return ((Boolean)retVal).booleanValue();
        } else {
            messager.error(null, "main.must_return_boolean",
                           docletClassName, methodName);
            return false;
        }
    }