public class org.junit.jupiter.api.MethodOrderer$OrderAnnotation implements org.junit.jupiter.api.MethodOrderer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.junit.jupiter.api.MethodOrderer$OrderAnnotation
  super_class: java.lang.Object
{
  private static final java.util.Comparator<org.junit.jupiter.api.MethodDescriptor> comparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Lorg/junit/jupiter/api/MethodDescriptor;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 168
            invokedynamic compare()Ljava/util/Comparator;
              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;)I
                  org/junit/jupiter/api/MethodOrderer$OrderAnnotation.lambda$0(Lorg/junit/jupiter/api/MethodDescriptor;Lorg/junit/jupiter/api/MethodDescriptor;)I (6)
                  (Lorg/junit/jupiter/api/MethodDescriptor;Lorg/junit/jupiter/api/MethodDescriptor;)I
         1: .line 167
            putstatic org.junit.jupiter.api.MethodOrderer$OrderAnnotation.comparator:Ljava/util/Comparator;
         2: .line 168
            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.junit.jupiter.api.MethodOrderer$OrderAnnotation this
         0: .line 155
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.junit.jupiter.api.MethodOrderer$OrderAnnotation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/api/MethodOrderer$OrderAnnotation;

  public void orderMethods(org.junit.jupiter.api.MethodOrdererContext);
    descriptor: (Lorg/junit/jupiter/api/MethodOrdererContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.jupiter.api.MethodOrderer$OrderAnnotation this
        start local 1 // org.junit.jupiter.api.MethodOrdererContext context
         0: .line 164
            aload 1 /* context */
            invokeinterface org.junit.jupiter.api.MethodOrdererContext.getMethodDescriptors:()Ljava/util/List;
            getstatic org.junit.jupiter.api.MethodOrderer$OrderAnnotation.comparator:Ljava/util/Comparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         1: .line 165
            return
        end local 1 // org.junit.jupiter.api.MethodOrdererContext context
        end local 0 // org.junit.jupiter.api.MethodOrderer$OrderAnnotation this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/junit/jupiter/api/MethodOrderer$OrderAnnotation;
            0    2     1  context  Lorg/junit/jupiter/api/MethodOrdererContext;
    MethodParameters:
         Name  Flags
      context  

  private static int getOrder(org.junit.jupiter.api.MethodDescriptor);
    descriptor: (Lorg/junit/jupiter/api/MethodDescriptor;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.junit.jupiter.api.MethodDescriptor descriptor
         0: .line 171
            aload 0 /* descriptor */
            ldc Lorg/junit/jupiter/api/Order;
            invokeinterface org.junit.jupiter.api.MethodDescriptor.findAnnotation:(Ljava/lang/Class;)Ljava/util/Optional;
            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/Order.value()I (9 itf)
                  (Lorg/junit/jupiter/api/Order;)Ljava/lang/Integer;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            ldc 2147483647
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 0 // org.junit.jupiter.api.MethodDescriptor descriptor
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  descriptor  Lorg/junit/jupiter/api/MethodDescriptor;
    MethodParameters:
            Name  Flags
      descriptor  

  private static int lambda$0(org.junit.jupiter.api.MethodDescriptor, org.junit.jupiter.api.MethodDescriptor);
    descriptor: (Lorg/junit/jupiter/api/MethodDescriptor;Lorg/junit/jupiter/api/MethodDescriptor;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.jupiter.api.MethodDescriptor descriptor1
        start local 1 // org.junit.jupiter.api.MethodDescriptor descriptor2
         0: .line 168
            aload 0 /* descriptor1 */
            invokestatic org.junit.jupiter.api.MethodOrderer$OrderAnnotation.getOrder:(Lorg/junit/jupiter/api/MethodDescriptor;)I
            aload 1 /* descriptor2 */
            invokestatic org.junit.jupiter.api.MethodOrderer$OrderAnnotation.getOrder:(Lorg/junit/jupiter/api/MethodDescriptor;)I
            invokestatic java.lang.Integer.compare:(II)I
            ireturn
        end local 1 // org.junit.jupiter.api.MethodDescriptor descriptor2
        end local 0 // org.junit.jupiter.api.MethodDescriptor descriptor1
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0  descriptor1  Lorg/junit/jupiter/api/MethodDescriptor;
            0    1     1  descriptor2  Lorg/junit/jupiter/api/MethodDescriptor;
}
SourceFile: "MethodOrderer.java"
NestHost: org.junit.jupiter.api.MethodOrderer
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public OrderAnnotation = org.junit.jupiter.api.MethodOrderer$OrderAnnotation of org.junit.jupiter.api.MethodOrderer