if (elementType == ClojureElementTypes.QUOTED_FORM) return new ClQuotedFormImpl(node);
if (elementType == ClojureElementTypes.META_FORM) return new ClMetaForm(node);
if (elementType == ClojureElementTypes.METADATA) return new ClMetadataImpl(node);
if (elementType == ClojureElementTypes.SYMBOL) return new ClSymbolImpl(node);
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);