public interface org.junit.jupiter.api.extension.ExtensionContext$Store
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.junit.jupiter.api.extension.ExtensionContext$Store
  super_class: java.lang.Object
{
  public abstract java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract <V> V get(, java.lang.Class<V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TV;>;)TV;
    MethodParameters:
              Name  Flags
      key           
      requiredType  

  public <V> V getOrDefault(, java.lang.Class<V>, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.junit.jupiter.api.extension.ExtensionContext$Store this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Class requiredType
        start local 3 // java.lang.Object defaultValue
         0: .line 473
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* requiredType */
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext$Store.get:(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         1: .line 474
            aload 4 /* value */
            ifnull 2
            aload 4 /* value */
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: aload 3 /* defaultValue */
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 4 // java.lang.Object value
        end local 3 // java.lang.Object defaultValue
        end local 2 // java.lang.Class requiredType
        end local 1 // java.lang.Object key
        end local 0 // org.junit.jupiter.api.extension.ExtensionContext$Store this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/junit/jupiter/api/extension/ExtensionContext$Store;
            0    4     1           key  Ljava/lang/Object;
            0    4     2  requiredType  Ljava/lang/Class<TV;>;
            0    4     3  defaultValue  TV;
            1    4     4         value  TV;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TV;>;TV;)TV;
    RuntimeVisibleAnnotations: 
      org.apiguardian.api.API(status = org.apiguardian.api.API$Status.STABLE:Lorg/apiguardian/api/API$Status;, since = "5.5")
    MethodParameters:
              Name  Flags
      key           
      requiredType  
      defaultValue  

  public <V> V getOrComputeIfAbsent(java.lang.Class<V>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.junit.jupiter.api.extension.ExtensionContext$Store this
        start local 1 // java.lang.Class type
         0: .line 509
            aload 0 /* this */
            aload 1 /* type */
            invokedynamic apply()Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  org/junit/jupiter/api/extension/ExtensionContext$Store.lambda$1(Ljava/lang/Class;)Ljava/lang/Object; (6 itf)
                  (Ljava/lang/Class;)Ljava/lang/Object;
            aload 1 /* type */
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext$Store.getOrComputeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class type
        end local 0 // org.junit.jupiter.api.extension.ExtensionContext$Store this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/api/extension/ExtensionContext$Store;
            0    1     1  type  Ljava/lang/Class<TV;>;
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Class<TV;>;)TV;
    RuntimeVisibleAnnotations: 
      org.apiguardian.api.API(status = org.apiguardian.api.API$Status.STABLE:Lorg/apiguardian/api/API$Status;, since = "5.1")
    MethodParameters:
      Name  Flags
      type  

  public abstract <K, V>  getOrComputeIfAbsent(K, java.util.function.Function<K, V>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(TK;Ljava/util/function/Function<TK;TV;>;)Ljava/lang/Object;
    MethodParameters:
                Name  Flags
      key             
      defaultCreator  

  public abstract <K, V> V getOrComputeIfAbsent(K, java.util.function.Function<K, V>, java.lang.Class<V>);
    descriptor: (Ljava/lang/Object;Ljava/util/function/Function;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(TK;Ljava/util/function/Function<TK;TV;>;Ljava/lang/Class<TV;>;)TV;
    MethodParameters:
                Name  Flags
      key             
      defaultCreator  
      requiredType    

  public abstract void put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      key    
      value  

  public abstract java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      key   

  public abstract <V> V remove(, java.lang.Class<V>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <V:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TV;>;)TV;
    MethodParameters:
              Name  Flags
      key           
      requiredType  

  private static V lambda$1(java.lang.Class<V>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class  arg0
         0: aload 0 /*  arg0 */
            iconst_0
            anewarray java.lang.Object
            invokestatic org.junit.platform.commons.support.ReflectionSupport.newInstance:(Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 0 // java.lang.Class  arg0
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   arg0  Ljava/lang/Class<TV;>;
    Signature: (Ljava/lang/Class<TV;>;)TV;
}
SourceFile: "ExtensionContext.java"
NestHost: org.junit.jupiter.api.extension.ExtensionContext
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Status = org.apiguardian.api.API$Status of org.apiguardian.api.API
  public abstract Store = org.junit.jupiter.api.extension.ExtensionContext$Store of org.junit.jupiter.api.extension.ExtensionContext
  public abstract CloseableResource = org.junit.jupiter.api.extension.ExtensionContext$Store$CloseableResource of org.junit.jupiter.api.extension.ExtensionContext$Store