@Override
    public T visitElement(Element elm, C context) {
        if (elm instanceof IncludeDef) return visitIncludeDef((IncludeDef)elm, context);
        else if (elm instanceof Library) return visitLibrary((Library)elm, context);
        else if (elm instanceof UsingDef) return visitUsingDef((UsingDef)elm, context);
        else return super.visitElement(elm, context);
    }
@ Override public T visitElement ( Element elm , C context ) { if ( elm instanceof IncludeDef ) return visitIncludeDef ( ( IncludeDef ) elm , context ) ; else if ( elm instanceof Library ) return visitLibrary ( ( Library ) elm , context ) ; else if ( elm instanceof UsingDef ) return visitUsingDef ( ( UsingDef ) elm , context ) ; else return super . visitElement ( elm , context ) ; }
Visit an Element in an ELM tree. This method will be called for
every node in the tree that is a descendant of the Element type.

@param elm     the ELM tree
@param context the context passed to the visitor
@return the visitor result