if (elementType == ClojureElementTypes.IMPLICIT_ARG) return new ClImplicitArgumentImpl(node);
if (elementType == ClojureElementTypes.DEF) return new ClDefImpl(node);
if (elementType == ClojureElementTypes.DEFMETHOD) return new ClDefnMethodImpl(node);
if (elementType == ClojureElementTypes.NS) return new ClNsImpl(node);
if (elementType == ClojureElementTypes.IN_NS) return new ClInNsImpl(node);
if (elementType == ClojureElementTypes.CREATE_NS) return new ClCreateNsImpl(node);
if (elementType == ClojureElementTypes.BINDINGS) return new ClBindings(node);
if (elementType == ClojureElementTypes.KEYWORD) return new ClKeywordImpl(node);