public class org.springframework.cache.annotation.SpringCacheAnnotationParser implements org.springframework.cache.annotation.CacheAnnotationParser, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.cache.annotation.SpringCacheAnnotationParser
  super_class: java.lang.Object
{
  private static final java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>> CACHE_OPERATION_ANNOTATIONS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 51
            new java.util.LinkedHashSet
            dup
            bipush 8
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            putstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
         1: .line 54
            getstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
            ldc Lorg/springframework/cache/annotation/Cacheable;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 55
            getstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
            ldc Lorg/springframework/cache/annotation/CacheEvict;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 56
            getstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
            ldc Lorg/springframework/cache/annotation/CachePut;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 57
            getstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
            ldc Lorg/springframework/cache/annotation/Caching;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 58
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;

  public java.util.Collection<org.springframework.cache.interceptor.CacheOperation> parseCacheAnnotations(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.Class type
         0: .line 64
            new org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig
            dup
            aload 1 /* type */
            invokespecial org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.<init>:(Ljava/lang/Class;)V
            astore 2 /* defaultConfig */
        start local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
         1: .line 65
            aload 0 /* this */
            aload 2 /* defaultConfig */
            aload 1 /* type */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheAnnotations:(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Collection;
            areturn
        end local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        end local 1 // java.lang.Class type
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    2     1           type  Ljava/lang/Class<*>;
            1    2     2  defaultConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
    Signature: (Ljava/lang/Class<*>;)Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
      Name  Flags
      type  

  public java.util.Collection<org.springframework.cache.interceptor.CacheOperation> parseCacheAnnotations(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.reflect.Method method
         0: .line 71
            new org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig
            dup
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokespecial org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.<init>:(Ljava/lang/Class;)V
            astore 2 /* defaultConfig */
        start local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
         1: .line 72
            aload 0 /* this */
            aload 2 /* defaultConfig */
            aload 1 /* method */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheAnnotations:(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Collection;
            areturn
        end local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    2     1         method  Ljava/lang/reflect/Method;
            1    2     2  defaultConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
    Signature: (Ljava/lang/reflect/Method;)Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
        Name  Flags
      method  

  private java.util.Collection<org.springframework.cache.interceptor.CacheOperation> parseCacheAnnotations(org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, java.lang.reflect.AnnotatedElement);
    descriptor: (Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig cachingConfig
        start local 2 // java.lang.reflect.AnnotatedElement ae
         0: .line 77
            aload 0 /* this */
            aload 1 /* cachingConfig */
            aload 2 /* ae */
            iconst_0
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheAnnotations:(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;Z)Ljava/util/Collection;
            astore 3 /* ops */
        start local 3 // java.util.Collection ops
         1: .line 78
            aload 3 /* ops */
            ifnull 5
            aload 3 /* ops */
            invokeinterface java.util.Collection.size:()I
            iconst_1
            if_icmple 5
         2: .line 80
            aload 0 /* this */
            aload 1 /* cachingConfig */
            aload 2 /* ae */
            iconst_1
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheAnnotations:(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;Z)Ljava/util/Collection;
            astore 4 /* localOps */
        start local 4 // java.util.Collection localOps
         3: .line 81
            aload 4 /* localOps */
            ifnull 5
         4: .line 82
            aload 4 /* localOps */
            areturn
        end local 4 // java.util.Collection localOps
         5: .line 85
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 3 /* ops */
            areturn
        end local 3 // java.util.Collection ops
        end local 2 // java.lang.reflect.AnnotatedElement ae
        end local 1 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig cachingConfig
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    6     1  cachingConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0    6     2             ae  Ljava/lang/reflect/AnnotatedElement;
            1    6     3            ops  Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
            3    5     4       localOps  Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
    Signature: (Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      cachingConfig  
      ae             

  private java.util.Collection<org.springframework.cache.interceptor.CacheOperation> parseCacheAnnotations(org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, java.lang.reflect.AnnotatedElement, boolean);
    descriptor: (Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;Z)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig cachingConfig
        start local 2 // java.lang.reflect.AnnotatedElement ae
        start local 3 // boolean localOnly
         0: .line 92
            iload 3 /* localOnly */
            ifeq 2
         1: .line 93
            aload 2 /* ae */
            getstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
            invokestatic org.springframework.core.annotation.AnnotatedElementUtils.getAllMergedAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/util/Set;)Ljava/util/Set;
            goto 3
         2: .line 94
      StackMap locals:
      StackMap stack:
            aload 2 /* ae */
            getstatic org.springframework.cache.annotation.SpringCacheAnnotationParser.CACHE_OPERATION_ANNOTATIONS:Ljava/util/Set;
            invokestatic org.springframework.core.annotation.AnnotatedElementUtils.findAllMergedAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/util/Set;)Ljava/util/Set;
         3: .line 92
      StackMap locals:
      StackMap stack: java.util.Set
            astore 4 /* anns */
        start local 4 // java.util.Collection anns
         4: .line 95
            aload 4 /* anns */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 6
         5: .line 96
            aconst_null
            areturn
         6: .line 99
      StackMap locals: java.util.Collection
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* ops */
        start local 5 // java.util.Collection ops
         7: .line 100
            aload 4 /* anns */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$0(Ljava/lang/annotation/Annotation;)Z (6)
                  (Ljava/lang/annotation/Annotation;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         8: .line 101
            aload 0 /* this */
            aload 5 /* ops */
            aload 2 /* ae */
            aload 1 /* cachingConfig */
            invokedynamic accept(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$1(Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/annotation/Annotation;)V (7)
                  (Ljava/lang/annotation/Annotation;)V
         9: .line 100
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        10: .line 102
            aload 4 /* anns */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$2(Ljava/lang/annotation/Annotation;)Z (6)
                  (Ljava/lang/annotation/Annotation;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        11: .line 103
            aload 0 /* this */
            aload 5 /* ops */
            aload 2 /* ae */
            aload 1 /* cachingConfig */
            invokedynamic accept(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$3(Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/annotation/Annotation;)V (7)
                  (Ljava/lang/annotation/Annotation;)V
        12: .line 102
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        13: .line 104
            aload 4 /* anns */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$4(Ljava/lang/annotation/Annotation;)Z (6)
                  (Ljava/lang/annotation/Annotation;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        14: .line 105
            aload 0 /* this */
            aload 5 /* ops */
            aload 2 /* ae */
            aload 1 /* cachingConfig */
            invokedynamic accept(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$5(Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/annotation/Annotation;)V (7)
                  (Ljava/lang/annotation/Annotation;)V
        15: .line 104
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        16: .line 106
            aload 4 /* anns */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$6(Ljava/lang/annotation/Annotation;)Z (6)
                  (Ljava/lang/annotation/Annotation;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        17: .line 107
            aload 0 /* this */
            aload 2 /* ae */
            aload 1 /* cachingConfig */
            aload 5 /* ops */
            invokedynamic accept(Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/util/Collection;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/springframework/cache/annotation/SpringCacheAnnotationParser.lambda$7(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/util/Collection;Ljava/lang/annotation/Annotation;)V (7)
                  (Ljava/lang/annotation/Annotation;)V
        18: .line 106
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        19: .line 108
            aload 5 /* ops */
            areturn
        end local 5 // java.util.Collection ops
        end local 4 // java.util.Collection anns
        end local 3 // boolean localOnly
        end local 2 // java.lang.reflect.AnnotatedElement ae
        end local 1 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig cachingConfig
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0   20     1  cachingConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0   20     2             ae  Ljava/lang/reflect/AnnotatedElement;
            0   20     3      localOnly  Z
            4   20     4           anns  Ljava/util/Collection<+Ljava/lang/annotation/Annotation;>;
            7   20     5            ops  Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
    Signature: (Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/reflect/AnnotatedElement;Z)Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
               Name  Flags
      cachingConfig  
      ae             
      localOnly      

  private org.springframework.cache.interceptor.CacheableOperation parseCacheableAnnotation(java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, org.springframework.cache.annotation.Cacheable);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/Cacheable;)Lorg/springframework/cache/interceptor/CacheableOperation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.reflect.AnnotatedElement ae
        start local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        start local 3 // org.springframework.cache.annotation.Cacheable cacheable
         0: .line 114
            new org.springframework.cache.interceptor.CacheableOperation$Builder
            dup
            invokespecial org.springframework.cache.interceptor.CacheableOperation$Builder.<init>:()V
            astore 4 /* builder */
        start local 4 // org.springframework.cache.interceptor.CacheableOperation$Builder builder
         1: .line 116
            aload 4 /* builder */
            aload 1 /* ae */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setName:(Ljava/lang/String;)V
         2: .line 117
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.cacheNames:()[Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setCacheNames:([Ljava/lang/String;)V
         3: .line 118
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.condition:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setCondition:(Ljava/lang/String;)V
         4: .line 119
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.unless:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setUnless:(Ljava/lang/String;)V
         5: .line 120
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.key:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setKey:(Ljava/lang/String;)V
         6: .line 121
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.keyGenerator:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setKeyGenerator:(Ljava/lang/String;)V
         7: .line 122
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.cacheManager:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setCacheManager:(Ljava/lang/String;)V
         8: .line 123
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.cacheResolver:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setCacheResolver:(Ljava/lang/String;)V
         9: .line 124
            aload 4 /* builder */
            aload 3 /* cacheable */
            invokeinterface org.springframework.cache.annotation.Cacheable.sync:()Z
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.setSync:(Z)V
        10: .line 126
            aload 2 /* defaultConfig */
            aload 4 /* builder */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.applyDefault:(Lorg/springframework/cache/interceptor/CacheOperation$Builder;)V
        11: .line 127
            aload 4 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheableOperation$Builder.build:()Lorg/springframework/cache/interceptor/CacheableOperation;
            astore 5 /* op */
        start local 5 // org.springframework.cache.interceptor.CacheableOperation op
        12: .line 128
            aload 0 /* this */
            aload 1 /* ae */
            aload 5 /* op */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.validateCacheOperation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/interceptor/CacheOperation;)V
        13: .line 130
            aload 5 /* op */
            areturn
        end local 5 // org.springframework.cache.interceptor.CacheableOperation op
        end local 4 // org.springframework.cache.interceptor.CacheableOperation$Builder builder
        end local 3 // org.springframework.cache.annotation.Cacheable cacheable
        end local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        end local 1 // java.lang.reflect.AnnotatedElement ae
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0   14     1             ae  Ljava/lang/reflect/AnnotatedElement;
            0   14     2  defaultConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0   14     3      cacheable  Lorg/springframework/cache/annotation/Cacheable;
            1   14     4        builder  Lorg/springframework/cache/interceptor/CacheableOperation$Builder;
           12   14     5             op  Lorg/springframework/cache/interceptor/CacheableOperation;
    MethodParameters:
               Name  Flags
      ae             
      defaultConfig  
      cacheable      

  private org.springframework.cache.interceptor.CacheEvictOperation parseEvictAnnotation(java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, org.springframework.cache.annotation.CacheEvict);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/CacheEvict;)Lorg/springframework/cache/interceptor/CacheEvictOperation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.reflect.AnnotatedElement ae
        start local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        start local 3 // org.springframework.cache.annotation.CacheEvict cacheEvict
         0: .line 136
            new org.springframework.cache.interceptor.CacheEvictOperation$Builder
            dup
            invokespecial org.springframework.cache.interceptor.CacheEvictOperation$Builder.<init>:()V
            astore 4 /* builder */
        start local 4 // org.springframework.cache.interceptor.CacheEvictOperation$Builder builder
         1: .line 138
            aload 4 /* builder */
            aload 1 /* ae */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setName:(Ljava/lang/String;)V
         2: .line 139
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.cacheNames:()[Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setCacheNames:([Ljava/lang/String;)V
         3: .line 140
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.condition:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setCondition:(Ljava/lang/String;)V
         4: .line 141
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.key:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setKey:(Ljava/lang/String;)V
         5: .line 142
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.keyGenerator:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setKeyGenerator:(Ljava/lang/String;)V
         6: .line 143
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.cacheManager:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setCacheManager:(Ljava/lang/String;)V
         7: .line 144
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.cacheResolver:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setCacheResolver:(Ljava/lang/String;)V
         8: .line 145
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.allEntries:()Z
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setCacheWide:(Z)V
         9: .line 146
            aload 4 /* builder */
            aload 3 /* cacheEvict */
            invokeinterface org.springframework.cache.annotation.CacheEvict.beforeInvocation:()Z
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.setBeforeInvocation:(Z)V
        10: .line 148
            aload 2 /* defaultConfig */
            aload 4 /* builder */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.applyDefault:(Lorg/springframework/cache/interceptor/CacheOperation$Builder;)V
        11: .line 149
            aload 4 /* builder */
            invokevirtual org.springframework.cache.interceptor.CacheEvictOperation$Builder.build:()Lorg/springframework/cache/interceptor/CacheEvictOperation;
            astore 5 /* op */
        start local 5 // org.springframework.cache.interceptor.CacheEvictOperation op
        12: .line 150
            aload 0 /* this */
            aload 1 /* ae */
            aload 5 /* op */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.validateCacheOperation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/interceptor/CacheOperation;)V
        13: .line 152
            aload 5 /* op */
            areturn
        end local 5 // org.springframework.cache.interceptor.CacheEvictOperation op
        end local 4 // org.springframework.cache.interceptor.CacheEvictOperation$Builder builder
        end local 3 // org.springframework.cache.annotation.CacheEvict cacheEvict
        end local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        end local 1 // java.lang.reflect.AnnotatedElement ae
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0   14     1             ae  Ljava/lang/reflect/AnnotatedElement;
            0   14     2  defaultConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0   14     3     cacheEvict  Lorg/springframework/cache/annotation/CacheEvict;
            1   14     4        builder  Lorg/springframework/cache/interceptor/CacheEvictOperation$Builder;
           12   14     5             op  Lorg/springframework/cache/interceptor/CacheEvictOperation;
    MethodParameters:
               Name  Flags
      ae             
      defaultConfig  
      cacheEvict     

  private org.springframework.cache.interceptor.CacheOperation parsePutAnnotation(java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, org.springframework.cache.annotation.CachePut);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/CachePut;)Lorg/springframework/cache/interceptor/CacheOperation;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.reflect.AnnotatedElement ae
        start local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        start local 3 // org.springframework.cache.annotation.CachePut cachePut
         0: .line 158
            new org.springframework.cache.interceptor.CachePutOperation$Builder
            dup
            invokespecial org.springframework.cache.interceptor.CachePutOperation$Builder.<init>:()V
            astore 4 /* builder */
        start local 4 // org.springframework.cache.interceptor.CachePutOperation$Builder builder
         1: .line 160
            aload 4 /* builder */
            aload 1 /* ae */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setName:(Ljava/lang/String;)V
         2: .line 161
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.cacheNames:()[Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setCacheNames:([Ljava/lang/String;)V
         3: .line 162
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.condition:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setCondition:(Ljava/lang/String;)V
         4: .line 163
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.unless:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setUnless:(Ljava/lang/String;)V
         5: .line 164
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.key:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setKey:(Ljava/lang/String;)V
         6: .line 165
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.keyGenerator:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setKeyGenerator:(Ljava/lang/String;)V
         7: .line 166
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.cacheManager:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setCacheManager:(Ljava/lang/String;)V
         8: .line 167
            aload 4 /* builder */
            aload 3 /* cachePut */
            invokeinterface org.springframework.cache.annotation.CachePut.cacheResolver:()Ljava/lang/String;
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.setCacheResolver:(Ljava/lang/String;)V
         9: .line 169
            aload 2 /* defaultConfig */
            aload 4 /* builder */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig.applyDefault:(Lorg/springframework/cache/interceptor/CacheOperation$Builder;)V
        10: .line 170
            aload 4 /* builder */
            invokevirtual org.springframework.cache.interceptor.CachePutOperation$Builder.build:()Lorg/springframework/cache/interceptor/CachePutOperation;
            astore 5 /* op */
        start local 5 // org.springframework.cache.interceptor.CachePutOperation op
        11: .line 171
            aload 0 /* this */
            aload 1 /* ae */
            aload 5 /* op */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.validateCacheOperation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/interceptor/CacheOperation;)V
        12: .line 173
            aload 5 /* op */
            areturn
        end local 5 // org.springframework.cache.interceptor.CachePutOperation op
        end local 4 // org.springframework.cache.interceptor.CachePutOperation$Builder builder
        end local 3 // org.springframework.cache.annotation.CachePut cachePut
        end local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        end local 1 // java.lang.reflect.AnnotatedElement ae
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0   13     1             ae  Ljava/lang/reflect/AnnotatedElement;
            0   13     2  defaultConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0   13     3       cachePut  Lorg/springframework/cache/annotation/CachePut;
            1   13     4        builder  Lorg/springframework/cache/interceptor/CachePutOperation$Builder;
           11   13     5             op  Lorg/springframework/cache/interceptor/CachePutOperation;
    MethodParameters:
               Name  Flags
      ae             
      defaultConfig  
      cachePut       

  private void parseCachingAnnotation(java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, org.springframework.cache.annotation.Caching, java.util.Collection<org.springframework.cache.interceptor.CacheOperation>);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/Caching;Ljava/util/Collection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.reflect.AnnotatedElement ae
        start local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        start local 3 // org.springframework.cache.annotation.Caching caching
        start local 4 // java.util.Collection ops
         0: .line 179
            aload 3 /* caching */
            invokeinterface org.springframework.cache.annotation.Caching.cacheable:()[Lorg/springframework/cache/annotation/Cacheable;
            astore 5 /* cacheables */
        start local 5 // org.springframework.cache.annotation.Cacheable[] cacheables
         1: .line 180
            aload 5 /* cacheables */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 5
      StackMap locals: org.springframework.cache.annotation.SpringCacheAnnotationParser java.lang.reflect.AnnotatedElement org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig org.springframework.cache.annotation.Caching java.util.Collection org.springframework.cache.annotation.Cacheable[] top int int org.springframework.cache.annotation.Cacheable[]
      StackMap stack:
         2: aload 9
            iload 7
            aaload
            astore 6 /* cacheable */
        start local 6 // org.springframework.cache.annotation.Cacheable cacheable
         3: .line 181
            aload 4 /* ops */
            aload 0 /* this */
            aload 1 /* ae */
            aload 2 /* defaultConfig */
            aload 6 /* cacheable */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheableAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/Cacheable;)Lorg/springframework/cache/interceptor/CacheableOperation;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.springframework.cache.annotation.Cacheable cacheable
         4: .line 180
            iinc 7 1
      StackMap locals:
      StackMap stack:
         5: iload 7
            iload 8
            if_icmplt 2
         6: .line 183
            aload 3 /* caching */
            invokeinterface org.springframework.cache.annotation.Caching.evict:()[Lorg/springframework/cache/annotation/CacheEvict;
            astore 6 /* cacheEvicts */
        start local 6 // org.springframework.cache.annotation.CacheEvict[] cacheEvicts
         7: .line 184
            aload 6 /* cacheEvicts */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 11
      StackMap locals: org.springframework.cache.annotation.SpringCacheAnnotationParser java.lang.reflect.AnnotatedElement org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig org.springframework.cache.annotation.Caching java.util.Collection org.springframework.cache.annotation.Cacheable[] org.springframework.cache.annotation.CacheEvict[] top int int org.springframework.cache.annotation.CacheEvict[]
      StackMap stack:
         8: aload 10
            iload 8
            aaload
            astore 7 /* cacheEvict */
        start local 7 // org.springframework.cache.annotation.CacheEvict cacheEvict
         9: .line 185
            aload 4 /* ops */
            aload 0 /* this */
            aload 1 /* ae */
            aload 2 /* defaultConfig */
            aload 7 /* cacheEvict */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseEvictAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/CacheEvict;)Lorg/springframework/cache/interceptor/CacheEvictOperation;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.springframework.cache.annotation.CacheEvict cacheEvict
        10: .line 184
            iinc 8 1
      StackMap locals:
      StackMap stack:
        11: iload 8
            iload 9
            if_icmplt 8
        12: .line 187
            aload 3 /* caching */
            invokeinterface org.springframework.cache.annotation.Caching.put:()[Lorg/springframework/cache/annotation/CachePut;
            astore 7 /* cachePuts */
        start local 7 // org.springframework.cache.annotation.CachePut[] cachePuts
        13: .line 188
            aload 7 /* cachePuts */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 17
      StackMap locals: org.springframework.cache.annotation.SpringCacheAnnotationParser java.lang.reflect.AnnotatedElement org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig org.springframework.cache.annotation.Caching java.util.Collection org.springframework.cache.annotation.Cacheable[] org.springframework.cache.annotation.CacheEvict[] org.springframework.cache.annotation.CachePut[] top int int org.springframework.cache.annotation.CachePut[]
      StackMap stack:
        14: aload 11
            iload 9
            aaload
            astore 8 /* cachePut */
        start local 8 // org.springframework.cache.annotation.CachePut cachePut
        15: .line 189
            aload 4 /* ops */
            aload 0 /* this */
            aload 1 /* ae */
            aload 2 /* defaultConfig */
            aload 8 /* cachePut */
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parsePutAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/CachePut;)Lorg/springframework/cache/interceptor/CacheOperation;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.springframework.cache.annotation.CachePut cachePut
        16: .line 188
            iinc 9 1
      StackMap locals:
      StackMap stack:
        17: iload 9
            iload 10
            if_icmplt 14
        18: .line 191
            return
        end local 7 // org.springframework.cache.annotation.CachePut[] cachePuts
        end local 6 // org.springframework.cache.annotation.CacheEvict[] cacheEvicts
        end local 5 // org.springframework.cache.annotation.Cacheable[] cacheables
        end local 4 // java.util.Collection ops
        end local 3 // org.springframework.cache.annotation.Caching caching
        end local 2 // org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig defaultConfig
        end local 1 // java.lang.reflect.AnnotatedElement ae
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0   19     1             ae  Ljava/lang/reflect/AnnotatedElement;
            0   19     2  defaultConfig  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;
            0   19     3        caching  Lorg/springframework/cache/annotation/Caching;
            0   19     4            ops  Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;
            1   19     5     cacheables  [Lorg/springframework/cache/annotation/Cacheable;
            3    4     6      cacheable  Lorg/springframework/cache/annotation/Cacheable;
            7   19     6    cacheEvicts  [Lorg/springframework/cache/annotation/CacheEvict;
            9   10     7     cacheEvict  Lorg/springframework/cache/annotation/CacheEvict;
           13   19     7      cachePuts  [Lorg/springframework/cache/annotation/CachePut;
           15   16     8       cachePut  Lorg/springframework/cache/annotation/CachePut;
    Signature: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/Caching;Ljava/util/Collection<Lorg/springframework/cache/interceptor/CacheOperation;>;)V
    MethodParameters:
               Name  Flags
      ae             
      defaultConfig  
      caching        
      ops            

  private void validateCacheOperation(java.lang.reflect.AnnotatedElement, org.springframework.cache.interceptor.CacheOperation);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/interceptor/CacheOperation;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.reflect.AnnotatedElement ae
        start local 2 // org.springframework.cache.interceptor.CacheOperation operation
         0: .line 203
            aload 2 /* operation */
            invokevirtual org.springframework.cache.interceptor.CacheOperation.getKey:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 6
            aload 2 /* operation */
            invokevirtual org.springframework.cache.interceptor.CacheOperation.getKeyGenerator:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 6
         1: .line 204
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid cache annotation configuration on '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 205
            aload 1 /* ae */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'. Both 'key' and 'keyGenerator' attributes have been set. "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 206
            ldc "These attributes are mutually exclusive: either set the SpEL expression used to"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 207
            ldc "compute the key at runtime or set the name of the KeyGenerator bean to use."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 204
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* operation */
            invokevirtual org.springframework.cache.interceptor.CacheOperation.getCacheManager:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 13
            aload 2 /* operation */
            invokevirtual org.springframework.cache.interceptor.CacheOperation.getCacheResolver:()Ljava/lang/String;
            invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
            ifeq 13
         7: .line 210
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid cache annotation configuration on '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 211
            aload 1 /* ae */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'. Both 'cacheManager' and 'cacheResolver' attributes have been set. "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 212
            ldc "These attributes are mutually exclusive: the cache manager is used to configure a"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 213
            ldc "default cache resolver if none is set. If a cache resolver is set, the cache manager"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 214
            ldc "won't be used."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 210
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 216
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.springframework.cache.interceptor.CacheOperation operation
        end local 1 // java.lang.reflect.AnnotatedElement ae
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0   14     1         ae  Ljava/lang/reflect/AnnotatedElement;
            0   14     2  operation  Lorg/springframework/cache/interceptor/CacheOperation;
    MethodParameters:
           Name  Flags
      ae         
      operation  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 1 // java.lang.Object other
         0: .line 220
            aload 0 /* this */
            aload 1 /* other */
            if_acmpeq 1
            aload 1 /* other */
            instanceof org.springframework.cache.annotation.SpringCacheAnnotationParser
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    2     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
         0: .line 225
            ldc Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            invokevirtual java.lang.Object.hashCode:()I
            ireturn
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;

  private static boolean lambda$0(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation ann
         0: .line 100
            aload 0 /* ann */
            instanceof org.springframework.cache.annotation.Cacheable
            ireturn
        end local 0 // java.lang.annotation.Annotation ann
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ann  Ljava/lang/annotation/Annotation;

  private void lambda$1(java.util.Collection, java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, java.lang.annotation.Annotation);
    descriptor: (Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/annotation/Annotation;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 4 // java.lang.annotation.Annotation ann
         0: .line 101
            aload 1
            aload 0 /* this */
            aload 2
            aload 3
            aload 4 /* ann */
            checkcast org.springframework.cache.annotation.Cacheable
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheableAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/Cacheable;)Lorg/springframework/cache/interceptor/CacheableOperation;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            return
        end local 4 // java.lang.annotation.Annotation ann
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    1     4   ann  Ljava/lang/annotation/Annotation;

  private static boolean lambda$2(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation ann
         0: .line 102
            aload 0 /* ann */
            instanceof org.springframework.cache.annotation.CacheEvict
            ireturn
        end local 0 // java.lang.annotation.Annotation ann
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ann  Ljava/lang/annotation/Annotation;

  private void lambda$3(java.util.Collection, java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, java.lang.annotation.Annotation);
    descriptor: (Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/annotation/Annotation;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 4 // java.lang.annotation.Annotation ann
         0: .line 103
            aload 1
            aload 0 /* this */
            aload 2
            aload 3
            aload 4 /* ann */
            checkcast org.springframework.cache.annotation.CacheEvict
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseEvictAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/CacheEvict;)Lorg/springframework/cache/interceptor/CacheEvictOperation;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            return
        end local 4 // java.lang.annotation.Annotation ann
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    1     4   ann  Ljava/lang/annotation/Annotation;

  private static boolean lambda$4(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation ann
         0: .line 104
            aload 0 /* ann */
            instanceof org.springframework.cache.annotation.CachePut
            ireturn
        end local 0 // java.lang.annotation.Annotation ann
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ann  Ljava/lang/annotation/Annotation;

  private void lambda$5(java.util.Collection, java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, java.lang.annotation.Annotation);
    descriptor: (Ljava/util/Collection;Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/lang/annotation/Annotation;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 4 // java.lang.annotation.Annotation ann
         0: .line 105
            aload 1
            aload 0 /* this */
            aload 2
            aload 3
            aload 4 /* ann */
            checkcast org.springframework.cache.annotation.CachePut
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parsePutAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/CachePut;)Lorg/springframework/cache/interceptor/CacheOperation;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            return
        end local 4 // java.lang.annotation.Annotation ann
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    1     4   ann  Ljava/lang/annotation/Annotation;

  private static boolean lambda$6(java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/annotation/Annotation;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.annotation.Annotation ann
         0: .line 106
            aload 0 /* ann */
            instanceof org.springframework.cache.annotation.Caching
            ireturn
        end local 0 // java.lang.annotation.Annotation ann
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   ann  Ljava/lang/annotation/Annotation;

  private void lambda$7(java.lang.reflect.AnnotatedElement, org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig, java.util.Collection, java.lang.annotation.Annotation);
    descriptor: (Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Ljava/util/Collection;Ljava/lang/annotation/Annotation;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
        start local 4 // java.lang.annotation.Annotation ann
         0: .line 107
            aload 0 /* this */
            aload 1
            aload 2
            aload 4 /* ann */
            checkcast org.springframework.cache.annotation.Caching
            aload 3
            invokevirtual org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCachingAnnotation:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/cache/annotation/SpringCacheAnnotationParser$DefaultCacheConfig;Lorg/springframework/cache/annotation/Caching;Ljava/util/Collection;)V
            return
        end local 4 // java.lang.annotation.Annotation ann
        end local 0 // org.springframework.cache.annotation.SpringCacheAnnotationParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/cache/annotation/SpringCacheAnnotationParser;
            0    1     4   ann  Ljava/lang/annotation/Annotation;
}
SourceFile: "SpringCacheAnnotationParser.java"
NestMembers:
  org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private DefaultCacheConfig = org.springframework.cache.annotation.SpringCacheAnnotationParser$DefaultCacheConfig of org.springframework.cache.annotation.SpringCacheAnnotationParser
  public Builder = org.springframework.cache.interceptor.CacheEvictOperation$Builder of org.springframework.cache.interceptor.CacheEvictOperation
  public abstract Builder = org.springframework.cache.interceptor.CacheOperation$Builder of org.springframework.cache.interceptor.CacheOperation
  public Builder = org.springframework.cache.interceptor.CachePutOperation$Builder of org.springframework.cache.interceptor.CachePutOperation
  public Builder = org.springframework.cache.interceptor.CacheableOperation$Builder of org.springframework.cache.interceptor.CacheableOperation