public void visitArrayElementValue(
      Clazz clazz, Annotation annotation, ArrayElementValue arrayElementValue) {
    elementValueVisitor.visitArrayElementValue(clazz, annotation, arrayElementValue);

    if (deep) {
      arrayElementValue.elementValuesAccept(clazz, annotation, elementValueVisitor);
    }
  }
  public void visitAnnotationElementValue(
      Clazz clazz, Annotation annotation, AnnotationElementValue annotationElementValue) {
    elementValueVisitor.visitAnnotationElementValue(clazz, annotation, annotationElementValue);

    if (deep) {
      annotationElementValue.annotationAccept(clazz, this);
    }
  }
 public void visitEnumConstantElementValue(
     Clazz clazz, Annotation annotation, EnumConstantElementValue enumConstantElementValue) {
   elementValueVisitor.visitEnumConstantElementValue(clazz, annotation, enumConstantElementValue);
 }
 public void visitClassElementValue(
     Clazz clazz, Annotation annotation, ClassElementValue classElementValue) {
   elementValueVisitor.visitClassElementValue(clazz, annotation, classElementValue);
 }
 public void visitConstantElementValue(
     Clazz clazz, Annotation annotation, ConstantElementValue constantElementValue) {
   elementValueVisitor.visitConstantElementValue(clazz, annotation, constantElementValue);
 }