abstract class org.springframework.util.ConcurrentReferenceHashMap$Task<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.util.ConcurrentReferenceHashMap$Task
  super_class: java.lang.Object
{
  private final java.util.EnumSet<org.springframework.util.ConcurrentReferenceHashMap$TaskOption> options;
    descriptor: Ljava/util/EnumSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/EnumSet<Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;>;

  final org.springframework.util.ConcurrentReferenceHashMap this$0;
    descriptor: Lorg/springframework/util/ConcurrentReferenceHashMap;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.springframework.util.ConcurrentReferenceHashMap$TaskOption[]);
    descriptor: (Lorg/springframework/util/ConcurrentReferenceHashMap;[Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
        start local 2 // org.springframework.util.ConcurrentReferenceHashMap$TaskOption[] options
         0: .line 787
            aload 0 /* this */
            aload 1
            putfield org.springframework.util.ConcurrentReferenceHashMap$Task.this$0:Lorg/springframework/util/ConcurrentReferenceHashMap;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 788
            aload 0 /* this */
            aload 2 /* options */
            arraylength
            ifne 2
            ldc Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            goto 3
      StackMap locals: org.springframework.util.ConcurrentReferenceHashMap$Task org.springframework.util.ConcurrentReferenceHashMap org.springframework.util.ConcurrentReferenceHashMap$TaskOption[]
      StackMap stack: org.springframework.util.ConcurrentReferenceHashMap$Task
         2: aload 2 /* options */
            iconst_0
            aaload
            aload 2 /* options */
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
      StackMap locals: org.springframework.util.ConcurrentReferenceHashMap$Task org.springframework.util.ConcurrentReferenceHashMap org.springframework.util.ConcurrentReferenceHashMap$TaskOption[]
      StackMap stack: org.springframework.util.ConcurrentReferenceHashMap$Task java.util.EnumSet
         3: putfield org.springframework.util.ConcurrentReferenceHashMap$Task.options:Ljava/util/EnumSet;
         4: .line 789
            return
        end local 2 // org.springframework.util.ConcurrentReferenceHashMap$TaskOption[] options
        end local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/springframework/util/ConcurrentReferenceHashMap<TK;TV;>.Task<TT;>;
            0    5     2  options  [Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;
    Signature: ([Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;)V
    MethodParameters:
         Name  Flags
      this$0   final
      options  

  public boolean hasOption(org.springframework.util.ConcurrentReferenceHashMap$TaskOption);
    descriptor: (Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
        start local 1 // org.springframework.util.ConcurrentReferenceHashMap$TaskOption option
         0: .line 792
            aload 0 /* this */
            getfield org.springframework.util.ConcurrentReferenceHashMap$Task.options:Ljava/util/EnumSet;
            aload 1 /* option */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.springframework.util.ConcurrentReferenceHashMap$TaskOption option
        end local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/springframework/util/ConcurrentReferenceHashMap<TK;TV;>.Task<TT;>;
            0    1     1  option  Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;
    Signature: (Lorg/springframework/util/ConcurrentReferenceHashMap$TaskOption;)Z
    MethodParameters:
        Name  Flags
      option  

  protected T execute(org.springframework.util.ConcurrentReferenceHashMap$Reference<K, V>, org.springframework.util.ConcurrentReferenceHashMap$Entry<K, V>, org.springframework.util.ConcurrentReferenceHashMap<K, V>.Entries);
    descriptor: (Lorg/springframework/util/ConcurrentReferenceHashMap$Reference;Lorg/springframework/util/ConcurrentReferenceHashMap$Entry;Lorg/springframework/util/ConcurrentReferenceHashMap$Entries;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
        start local 1 // org.springframework.util.ConcurrentReferenceHashMap$Reference ref
        start local 2 // org.springframework.util.ConcurrentReferenceHashMap$Entry entry
        start local 3 // org.springframework.util.ConcurrentReferenceHashMap$Entries entries
         0: .line 805
            aload 0 /* this */
            aload 1 /* ref */
            aload 2 /* entry */
            invokevirtual org.springframework.util.ConcurrentReferenceHashMap$Task.execute:(Lorg/springframework/util/ConcurrentReferenceHashMap$Reference;Lorg/springframework/util/ConcurrentReferenceHashMap$Entry;)Ljava/lang/Object;
            areturn
        end local 3 // org.springframework.util.ConcurrentReferenceHashMap$Entries entries
        end local 2 // org.springframework.util.ConcurrentReferenceHashMap$Entry entry
        end local 1 // org.springframework.util.ConcurrentReferenceHashMap$Reference ref
        end local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/springframework/util/ConcurrentReferenceHashMap<TK;TV;>.Task<TT;>;
            0    1     1      ref  Lorg/springframework/util/ConcurrentReferenceHashMap$Reference<TK;TV;>;
            0    1     2    entry  Lorg/springframework/util/ConcurrentReferenceHashMap$Entry<TK;TV;>;
            0    1     3  entries  Lorg/springframework/util/ConcurrentReferenceHashMap<TK;TV;>.Entries;
    Signature: (Lorg/springframework/util/ConcurrentReferenceHashMap$Reference<TK;TV;>;Lorg/springframework/util/ConcurrentReferenceHashMap$Entry<TK;TV;>;Lorg/springframework/util/ConcurrentReferenceHashMap<TK;TV;>.Entries;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
      2:
        org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      ref      
      entry    
      entries  

  protected T execute(org.springframework.util.ConcurrentReferenceHashMap$Reference<K, V>, org.springframework.util.ConcurrentReferenceHashMap$Entry<K, V>);
    descriptor: (Lorg/springframework/util/ConcurrentReferenceHashMap$Reference;Lorg/springframework/util/ConcurrentReferenceHashMap$Entry;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
        start local 1 // org.springframework.util.ConcurrentReferenceHashMap$Reference ref
        start local 2 // org.springframework.util.ConcurrentReferenceHashMap$Entry entry
         0: .line 817
            aconst_null
            areturn
        end local 2 // org.springframework.util.ConcurrentReferenceHashMap$Entry entry
        end local 1 // org.springframework.util.ConcurrentReferenceHashMap$Reference ref
        end local 0 // org.springframework.util.ConcurrentReferenceHashMap$Task this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/springframework/util/ConcurrentReferenceHashMap<TK;TV;>.Task<TT;>;
            0    1     1    ref  Lorg/springframework/util/ConcurrentReferenceHashMap$Reference<TK;TV;>;
            0    1     2  entry  Lorg/springframework/util/ConcurrentReferenceHashMap$Entry<TK;TV;>;
    Signature: (Lorg/springframework/util/ConcurrentReferenceHashMap$Reference<TK;TV;>;Lorg/springframework/util/ConcurrentReferenceHashMap$Entry<TK;TV;>;)TT;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
       Name  Flags
      ref    
      entry  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ConcurrentReferenceHashMap.java"
NestHost: org.springframework.util.ConcurrentReferenceHashMap
InnerClasses:
  private abstract Entries = org.springframework.util.ConcurrentReferenceHashMap$Entries of org.springframework.util.ConcurrentReferenceHashMap
  protected final Entry = org.springframework.util.ConcurrentReferenceHashMap$Entry of org.springframework.util.ConcurrentReferenceHashMap
  protected abstract Reference = org.springframework.util.ConcurrentReferenceHashMap$Reference of org.springframework.util.ConcurrentReferenceHashMap
  private abstract Task = org.springframework.util.ConcurrentReferenceHashMap$Task of org.springframework.util.ConcurrentReferenceHashMap
  private final TaskOption = org.springframework.util.ConcurrentReferenceHashMap$TaskOption of org.springframework.util.ConcurrentReferenceHashMap