class org.junit.jupiter.engine.config.EnumConfigurationParameterConverter<E extends java.lang.Enum<E>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.junit.jupiter.engine.config.EnumConfigurationParameterConverter
  super_class: java.lang.Object
{
  private static final org.junit.platform.commons.logging.Logger logger;
    descriptor: Lorg/junit/platform/commons/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Class<E> enumType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TE;>;

  private final java.lang.String enumDisplayName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 25
            ldc Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter;
            invokestatic org.junit.platform.commons.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/junit/platform/commons/logging/Logger;
            putstatic org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.logger:Lorg/junit/platform/commons/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Class<E>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
        start local 1 // java.lang.Class enumType
        start local 2 // java.lang.String enumDisplayName
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            aload 1 /* enumType */
            putfield org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.enumType:Ljava/lang/Class;
         2: .line 32
            aload 0 /* this */
            aload 2 /* enumDisplayName */
            putfield org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.enumDisplayName:Ljava/lang/String;
         3: .line 33
            return
        end local 2 // java.lang.String enumDisplayName
        end local 1 // java.lang.Class enumType
        end local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter<TE;>;
            0    4     1         enumType  Ljava/lang/Class<TE;>;
            0    4     2  enumDisplayName  Ljava/lang/String;
    Signature: (Ljava/lang/Class<TE;>;Ljava/lang/String;)V
    MethodParameters:
                 Name  Flags
      enumType         
      enumDisplayName  

  E get(org.junit.platform.engine.ConfigurationParameters, java.lang.String, );
    descriptor: (Lorg/junit/platform/engine/ConfigurationParameters;Ljava/lang/String;Ljava/lang/Enum;)Ljava/lang/Enum;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
        start local 1 // org.junit.platform.engine.ConfigurationParameters configParams
        start local 2 // java.lang.String key
        start local 3 // java.lang.Enum defaultValue
         0: .line 36
            aload 1 /* configParams */
            ldc "ConfigurationParameters must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 38
            aload 1 /* configParams */
            aload 2 /* key */
            invokeinterface org.junit.platform.engine.ConfigurationParameters.get:(Ljava/lang/String;)Ljava/util/Optional;
            astore 4 /* optional */
        start local 4 // java.util.Optional optional
         2: .line 39
            aconst_null
            astore 5 /* constantName */
        start local 5 // java.lang.String constantName
         3: .line 40
            aload 4 /* optional */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 12
         4: .line 42
            aload 4 /* optional */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            astore 5 /* constantName */
         5: .line 43
            aload 0 /* this */
            getfield org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.enumType:Ljava/lang/Class;
            aload 5 /* constantName */
            invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
            astore 6 /* value */
        start local 6 // java.lang.Enum value
         6: .line 44
            getstatic org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.logger:Lorg/junit/platform/commons/logging/Logger;
            aload 0 /* this */
            aload 6 /* value */
            aload 2 /* key */
            invokedynamic get(Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter;Ljava/lang/Enum;Ljava/lang/String;)Ljava/util/function/Supplier;
              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;
                  org/junit/jupiter/engine/config/EnumConfigurationParameterConverter.lambda$0(Ljava/lang/Enum;Ljava/lang/String;)Ljava/lang/String; (7)
                  ()Ljava/lang/String;
            invokeinterface org.junit.platform.commons.logging.Logger.info:(Ljava/util/function/Supplier;)V
         7: .line 46
            aload 6 /* value */
         8: areturn
        end local 6 // java.lang.Enum value
         9: .line 48
      StackMap locals: org.junit.jupiter.engine.config.EnumConfigurationParameterConverter org.junit.platform.engine.ConfigurationParameters java.lang.String java.lang.Enum java.util.Optional java.lang.String
      StackMap stack: java.lang.Exception
            pop
        10: .line 50
            aload 5 /* constantName */
            astore 6 /* constant */
        start local 6 // java.lang.String constant
        11: .line 51
            getstatic org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.logger:Lorg/junit/platform/commons/logging/Logger;
            aload 0 /* this */
            aload 6 /* constant */
            aload 2 /* key */
            aload 3 /* defaultValue */
            invokedynamic get(Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Enum;)Ljava/util/function/Supplier;
              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;
                  org/junit/jupiter/engine/config/EnumConfigurationParameterConverter.lambda$1(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Enum;)Ljava/lang/String; (7)
                  ()Ljava/lang/String;
            invokeinterface org.junit.platform.commons.logging.Logger.warn:(Ljava/util/function/Supplier;)V
        end local 6 // java.lang.String constant
        12: .line 58
      StackMap locals:
      StackMap stack:
            aload 3 /* defaultValue */
            areturn
        end local 5 // java.lang.String constantName
        end local 4 // java.util.Optional optional
        end local 3 // java.lang.Enum defaultValue
        end local 2 // java.lang.String key
        end local 1 // org.junit.platform.engine.ConfigurationParameters configParams
        end local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter<TE;>;
            0   13     1  configParams  Lorg/junit/platform/engine/ConfigurationParameters;
            0   13     2           key  Ljava/lang/String;
            0   13     3  defaultValue  TE;
            2   13     4      optional  Ljava/util/Optional<Ljava/lang/String;>;
            3   13     5  constantName  Ljava/lang/String;
            6    9     6         value  TE;
           11   12     6      constant  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.Exception
    Signature: (Lorg/junit/platform/engine/ConfigurationParameters;Ljava/lang/String;TE;)TE;
    MethodParameters:
              Name  Flags
      configParams  
      key           
      defaultValue  

  private java.lang.String lambda$0(java.lang.Enum, java.lang.String);
    descriptor: (Ljava/lang/Enum;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
         0: .line 44
            ldc "Using %s '%s' set via the '%s' configuration parameter."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 45
            aload 0 /* this */
            getfield org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.enumDisplayName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1
            aastore
            dup
            iconst_2
            aload 2
            aastore
         2: .line 44
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 45
            areturn
        end local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter<TE;>;

  private java.lang.String lambda$1(java.lang.String, java.lang.String, java.lang.Enum);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Enum;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
         0: .line 52
            ldc "Invalid %s '%s' set via the '%s' configuration parameter. Falling back to the %s default value."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 54
            aload 0 /* this */
            getfield org.junit.jupiter.engine.config.EnumConfigurationParameterConverter.enumDisplayName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1
            aastore
            dup
            iconst_2
            aload 2
            aastore
            dup
            iconst_3
            aload 3
            invokevirtual java.lang.Enum.name:()Ljava/lang/String;
            aastore
         2: .line 51
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         3: .line 54
            areturn
        end local 0 // org.junit.jupiter.engine.config.EnumConfigurationParameterConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/junit/jupiter/engine/config/EnumConfigurationParameterConverter<TE;>;
}
Signature: <E:Ljava/lang/Enum<TE;>;>Ljava/lang/Object;
SourceFile: "EnumConfigurationParameterConverter.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles