public final class java.lang.module.ModuleDescriptor$Version implements java.lang.Comparable<java.lang.module.ModuleDescriptor$Version>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.lang.module.ModuleDescriptor$Version
  super_class: java.lang.Object
{
  private final java.lang.String version;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<java.lang.Object> sequence;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  private final java.util.List<java.lang.Object> pre;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  private final java.util.List<java.lang.Object> build;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/Object;>;

  private static int takeNumber(java.lang.String, int, java.util.List<java.lang.Object>);
    descriptor: (Ljava/lang/String;ILjava/util/List;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int i
        start local 2 // java.util.List acc
         0: .line 972
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         1: .line 973
            iload 3 /* c */
            bipush 48
            isub
            istore 4 /* d */
        start local 4 // int d
         2: .line 974
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 5 /* n */
        start local 5 // int n
         3: .line 975
            goto 7
         4: .line 976
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
         5: .line 977
            iload 3 /* c */
            bipush 48
            if_icmplt 8
            iload 3 /* c */
            bipush 57
            if_icmpgt 8
         6: .line 978
            iload 4 /* d */
            bipush 10
            imul
            iload 3 /* c */
            bipush 48
            isub
            iadd
            istore 4 /* d */
         7: .line 975
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
            iload 1 /* i */
            iload 5 /* n */
            if_icmplt 4
         8: .line 983
      StackMap locals:
      StackMap stack:
            aload 2 /* acc */
            iload 4 /* d */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 984
            iload 1 /* i */
            ireturn
        end local 5 // int n
        end local 4 // int d
        end local 3 // char c
        end local 2 // java.util.List acc
        end local 1 // int i
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     s  Ljava/lang/String;
            0   10     1     i  I
            0   10     2   acc  Ljava/util/List<Ljava/lang/Object;>;
            1   10     3     c  C
            2   10     4     d  I
            3   10     5     n  I
    Signature: (Ljava/lang/String;ILjava/util/List<Ljava/lang/Object;>;)I
    MethodParameters:
      Name  Flags
      s     
      i     
      acc   

  private static int takeString(java.lang.String, int, java.util.List<java.lang.Object>);
    descriptor: (Ljava/lang/String;ILjava/util/List;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.String s
        start local 1 // int i
        start local 2 // java.util.List acc
         0: .line 993
            iload 1 /* i */
            istore 3 /* b */
        start local 3 // int b
         1: .line 994
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 4 /* n */
        start local 4 // int n
         2: .line 995
            goto 5
         3: .line 996
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         4: .line 997
            iload 5 /* c */
            bipush 46
            if_icmpeq 6
            iload 5 /* c */
            bipush 45
            if_icmpeq 6
            iload 5 /* c */
            bipush 43
            if_icmpeq 6
            iload 5 /* c */
            bipush 48
            if_icmplt 5
            iload 5 /* c */
            bipush 57
            if_icmple 6
        end local 5 // char c
         5: .line 995
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
            iload 1 /* i */
            iload 4 /* n */
            if_icmplt 3
         6: .line 1001
      StackMap locals:
      StackMap stack:
            aload 2 /* acc */
            aload 0 /* s */
            iload 3 /* b */
            iload 1 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1002
            iload 1 /* i */
            ireturn
        end local 4 // int n
        end local 3 // int b
        end local 2 // java.util.List acc
        end local 1 // int i
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/lang/String;
            0    8     1     i  I
            0    8     2   acc  Ljava/util/List<Ljava/lang/Object;>;
            1    8     3     b  I
            2    8     4     n  I
            4    5     5     c  C
    Signature: (Ljava/lang/String;ILjava/util/List<Ljava/lang/Object;>;)I
    MethodParameters:
      Name  Flags
      s     
      i     
      acc   

  private void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.module.ModuleDescriptor$Version this
        start local 1 // java.lang.String v
         0: .line 1013
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1015
            aload 1 /* v */
            ifnonnull 3
         2: .line 1016
            new java.lang.IllegalArgumentException
            dup
            ldc "Null version string"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1017
      StackMap locals: java.lang.module.ModuleDescriptor$Version java.lang.String
      StackMap stack:
            aload 1 /* v */
            invokevirtual java.lang.String.length:()I
            istore 2 /* n */
        start local 2 // int n
         4: .line 1018
            iload 2 /* n */
            ifne 6
         5: .line 1019
            new java.lang.IllegalArgumentException
            dup
            ldc "Empty version string"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1021
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: .line 1022
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         8: .line 1023
            iload 4 /* c */
            bipush 48
            if_icmplt 9
            iload 4 /* c */
            bipush 57
            if_icmple 13
         9: .line 1024
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* v */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 1025
            ldc ": Version string does not start"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1026
            ldc " with a number"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 1024
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 1028
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* sequence */
        start local 5 // java.util.List sequence
        14: .line 1029
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* pre */
        start local 6 // java.util.List pre
        15: .line 1030
            new java.util.ArrayList
            dup
            iconst_2
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* build */
        start local 7 // java.util.List build
        16: .line 1032
            aload 1 /* v */
            iload 3 /* i */
            aload 5 /* sequence */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeNumber:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
        17: .line 1034
            goto 28
        18: .line 1035
      StackMap locals: java.util.List java.util.List java.util.List
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        19: .line 1036
            iload 4 /* c */
            bipush 46
            if_icmpne 22
        20: .line 1037
            iinc 3 /* i */ 1
        21: .line 1038
            goto 28
        22: .line 1040
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 45
            if_icmpeq 23
            iload 4 /* c */
            bipush 43
            if_icmpne 25
        23: .line 1041
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        24: .line 1042
            goto 29
        25: .line 1044
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 48
            if_icmplt 27
            iload 4 /* c */
            bipush 57
            if_icmpgt 27
        26: .line 1045
            aload 1 /* v */
            iload 3 /* i */
            aload 5 /* sequence */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeNumber:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
            goto 28
        27: .line 1047
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            aload 5 /* sequence */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeString:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
        28: .line 1034
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 18
        29: .line 1050
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 45
            if_icmpne 44
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 44
        30: .line 1051
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* v */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Empty pre-release"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 1054
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        32: .line 1055
            iload 4 /* c */
            bipush 48
            if_icmplt 34
            iload 4 /* c */
            bipush 57
            if_icmpgt 34
        33: .line 1056
            aload 1 /* v */
            iload 3 /* i */
            aload 6 /* pre */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeNumber:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
            goto 35
        34: .line 1058
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            aload 6 /* pre */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeString:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
        35: .line 1059
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 37
        36: .line 1060
            goto 45
        37: .line 1061
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        38: .line 1062
            iload 4 /* c */
            bipush 46
            if_icmpeq 39
            iload 4 /* c */
            bipush 45
            if_icmpne 41
        39: .line 1063
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        40: .line 1064
            goto 44
        41: .line 1066
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 43
            if_icmpne 44
        42: .line 1067
            iinc 3 /* i */ 1
        43: .line 1068
            goto 45
        44: .line 1053
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 31
        45: .line 1072
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            bipush 43
            if_icmpne 56
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 56
        46: .line 1073
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* v */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": Empty pre-release"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 1076
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        48: .line 1077
            iload 4 /* c */
            bipush 48
            if_icmplt 50
            iload 4 /* c */
            bipush 57
            if_icmpgt 50
        49: .line 1078
            aload 1 /* v */
            iload 3 /* i */
            aload 7 /* build */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeNumber:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
            goto 51
        50: .line 1080
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            aload 7 /* build */
            invokestatic java.lang.module.ModuleDescriptor$Version.takeString:(Ljava/lang/String;ILjava/util/List;)I
            istore 3 /* i */
        51: .line 1081
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 53
        52: .line 1082
            goto 57
        53: .line 1083
      StackMap locals:
      StackMap stack:
            aload 1 /* v */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        54: .line 1084
            iload 4 /* c */
            bipush 46
            if_icmpeq 55
            iload 4 /* c */
            bipush 45
            if_icmpeq 55
            iload 4 /* c */
            bipush 43
            if_icmpne 56
        55: .line 1085
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        56: .line 1075
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iload 2 /* n */
            if_icmplt 47
        57: .line 1090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* v */
            putfield java.lang.module.ModuleDescriptor$Version.version:Ljava/lang/String;
        58: .line 1091
            aload 0 /* this */
            aload 5 /* sequence */
            putfield java.lang.module.ModuleDescriptor$Version.sequence:Ljava/util/List;
        59: .line 1092
            aload 0 /* this */
            aload 6 /* pre */
            putfield java.lang.module.ModuleDescriptor$Version.pre:Ljava/util/List;
        60: .line 1093
            aload 0 /* this */
            aload 7 /* build */
            putfield java.lang.module.ModuleDescriptor$Version.build:Ljava/util/List;
        61: .line 1094
            return
        end local 7 // java.util.List build
        end local 6 // java.util.List pre
        end local 5 // java.util.List sequence
        end local 4 // char c
        end local 3 // int i
        end local 2 // int n
        end local 1 // java.lang.String v
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   62     0      this  Ljava/lang/module/ModuleDescriptor$Version;
            0   62     1         v  Ljava/lang/String;
            4   62     2         n  I
            7   62     3         i  I
            8   62     4         c  C
           14   62     5  sequence  Ljava/util/List<Ljava/lang/Object;>;
           15   62     6       pre  Ljava/util/List<Ljava/lang/Object;>;
           16   62     7     build  Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      v     

  public static java.lang.module.ModuleDescriptor$Version parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/module/ModuleDescriptor$Version;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String v
         0: .line 1109
            new java.lang.module.ModuleDescriptor$Version
            dup
            aload 0 /* v */
            invokespecial java.lang.module.ModuleDescriptor$Version.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     v  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      v     

  private int cmp(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.module.ModuleDescriptor$Version this
        start local 1 // java.lang.Object o1
        start local 2 // java.lang.Object o2
         0: .line 1114
            aload 1 /* o1 */
            checkcast java.lang.Comparable
            aload 2 /* o2 */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ireturn
        end local 2 // java.lang.Object o2
        end local 1 // java.lang.Object o1
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/module/ModuleDescriptor$Version;
            0    1     1    o1  Ljava/lang/Object;
            0    1     2    o2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  private int compareTokens(java.util.List<java.lang.Object>, java.util.List<java.lang.Object>);
    descriptor: (Ljava/util/List;Ljava/util/List;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.lang.module.ModuleDescriptor$Version this
        start local 1 // java.util.List ts1
        start local 2 // java.util.List ts2
         0: .line 1118
            aload 1 /* ts1 */
            invokeinterface java.util.List.size:()I
            aload 2 /* ts2 */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* n */
        start local 3 // int n
         1: .line 1119
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 16
         3: .line 1120
      StackMap locals: int int
      StackMap stack:
            aload 1 /* ts1 */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 5 /* o1 */
        start local 5 // java.lang.Object o1
         4: .line 1121
            aload 2 /* ts2 */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 6 /* o2 */
        start local 6 // java.lang.Object o2
         5: .line 1122
            aload 5 /* o1 */
            instanceof java.lang.Integer
            ifeq 6
            aload 6 /* o2 */
            instanceof java.lang.Integer
            ifne 7
         6: .line 1123
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 5 /* o1 */
            instanceof java.lang.String
            ifeq 11
            aload 6 /* o2 */
            instanceof java.lang.String
            ifeq 11
         7: .line 1125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* o1 */
            aload 6 /* o2 */
            invokevirtual java.lang.module.ModuleDescriptor$Version.cmp:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 7 /* c */
        start local 7 // int c
         8: .line 1126
            iload 7 /* c */
            ifne 10
         9: .line 1127
            goto 15
        10: .line 1128
      StackMap locals: int
      StackMap stack:
            iload 7 /* c */
            ireturn
        end local 7 // int c
        11: .line 1131
      StackMap locals:
      StackMap stack:
            aload 5 /* o1 */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 6 /* o2 */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            istore 7 /* c */
        start local 7 // int c
        12: .line 1132
            iload 7 /* c */
            ifne 14
        13: .line 1133
            goto 15
        14: .line 1134
      StackMap locals: int
      StackMap stack:
            iload 7 /* c */
            ireturn
        end local 7 // int c
        end local 6 // java.lang.Object o2
        end local 5 // java.lang.Object o1
        15: .line 1119
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 3 /* n */
            if_icmplt 3
        end local 4 // int i
        17: .line 1136
            aload 1 /* ts1 */
            invokeinterface java.util.List.size:()I
            aload 2 /* ts2 */
            invokeinterface java.util.List.size:()I
            if_icmple 18
            aload 1 /* ts1 */
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 2 /* ts2 */
      StackMap locals:
      StackMap stack: java.util.List
        19: astore 4 /* rest */
        start local 4 // java.util.List rest
        20: .line 1137
            aload 4 /* rest */
            invokeinterface java.util.List.size:()I
            istore 5 /* e */
        start local 5 // int e
        21: .line 1138
            iload 3 /* n */
            istore 6 /* i */
        start local 6 // int i
        22: goto 28
        23: .line 1139
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 4 /* rest */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            astore 7 /* o */
        start local 7 // java.lang.Object o
        24: .line 1140
            aload 7 /* o */
            instanceof java.lang.Integer
            ifeq 26
            aload 7 /* o */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ifne 26
        25: .line 1141
            goto 27
        26: .line 1142
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* ts1 */
            invokeinterface java.util.List.size:()I
            aload 2 /* ts2 */
            invokeinterface java.util.List.size:()I
            isub
            ireturn
        end local 7 // java.lang.Object o
        27: .line 1138
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 6 /* i */
            iload 5 /* e */
            if_icmplt 23
        end local 6 // int i
        29: .line 1144
            iconst_0
            ireturn
        end local 5 // int e
        end local 4 // java.util.List rest
        end local 3 // int n
        end local 2 // java.util.List ts2
        end local 1 // java.util.List ts1
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  this  Ljava/lang/module/ModuleDescriptor$Version;
            0   30     1   ts1  Ljava/util/List<Ljava/lang/Object;>;
            0   30     2   ts2  Ljava/util/List<Ljava/lang/Object;>;
            1   30     3     n  I
            2   17     4     i  I
            4   15     5    o1  Ljava/lang/Object;
            5   15     6    o2  Ljava/lang/Object;
            8   11     7     c  I
           12   15     7     c  I
           20   30     4  rest  Ljava/util/List<Ljava/lang/Object;>;
           21   30     5     e  I
           22   29     6     i  I
           24   27     7     o  Ljava/lang/Object;
    Signature: (Ljava/util/List<Ljava/lang/Object;>;Ljava/util/List<Ljava/lang/Object;>;)I
    MethodParameters:
      Name  Flags
      ts1   
      ts2   

  public int compareTo(java.lang.module.ModuleDescriptor$Version);
    descriptor: (Ljava/lang/module/ModuleDescriptor$Version;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.module.ModuleDescriptor$Version this
        start local 1 // java.lang.module.ModuleDescriptor$Version that
         0: .line 1160
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.module.ModuleDescriptor$Version.sequence:Ljava/util/List;
            aload 1 /* that */
            getfield java.lang.module.ModuleDescriptor$Version.sequence:Ljava/util/List;
            invokevirtual java.lang.module.ModuleDescriptor$Version.compareTokens:(Ljava/util/List;Ljava/util/List;)I
            istore 2 /* c */
        start local 2 // int c
         1: .line 1161
            iload 2 /* c */
            ifeq 2
            iload 2 /* c */
            ireturn
         2: .line 1162
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.module.ModuleDescriptor$Version.pre:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         3: .line 1163
            aload 1 /* that */
            getfield java.lang.module.ModuleDescriptor$Version.pre:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 5
            iconst_1
            ireturn
         4: .line 1165
      StackMap locals:
      StackMap stack:
            aload 1 /* that */
            getfield java.lang.module.ModuleDescriptor$Version.pre:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 5
            iconst_m1
            ireturn
         5: .line 1167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.module.ModuleDescriptor$Version.pre:Ljava/util/List;
            aload 1 /* that */
            getfield java.lang.module.ModuleDescriptor$Version.pre:Ljava/util/List;
            invokevirtual java.lang.module.ModuleDescriptor$Version.compareTokens:(Ljava/util/List;Ljava/util/List;)I
            istore 2 /* c */
         6: .line 1168
            iload 2 /* c */
            ifeq 7
            iload 2 /* c */
            ireturn
         7: .line 1169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.lang.module.ModuleDescriptor$Version.build:Ljava/util/List;
            aload 1 /* that */
            getfield java.lang.module.ModuleDescriptor$Version.build:Ljava/util/List;
            invokevirtual java.lang.module.ModuleDescriptor$Version.compareTokens:(Ljava/util/List;Ljava/util/List;)I
            ireturn
        end local 2 // int c
        end local 1 // java.lang.module.ModuleDescriptor$Version that
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/lang/module/ModuleDescriptor$Version;
            0    8     1  that  Ljava/lang/module/ModuleDescriptor$Version;
            1    8     2     c  I
    MethodParameters:
      Name  Flags
      that  

  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 // java.lang.module.ModuleDescriptor$Version this
        start local 1 // java.lang.Object ob
         0: .line 1190
            aload 1 /* ob */
            instanceof java.lang.module.ModuleDescriptor$Version
            ifne 2
         1: .line 1191
            iconst_0
            ireturn
         2: .line 1192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ob */
            checkcast java.lang.module.ModuleDescriptor$Version
            invokevirtual java.lang.module.ModuleDescriptor$Version.compareTo:(Ljava/lang/module/ModuleDescriptor$Version;)I
            ifne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // java.lang.Object ob
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/lang/module/ModuleDescriptor$Version;
            0    4     1    ob  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      ob    

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.module.ModuleDescriptor$Version this
         0: .line 1206
            aload 0 /* this */
            getfield java.lang.module.ModuleDescriptor$Version.version:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/module/ModuleDescriptor$Version;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.module.ModuleDescriptor$Version this
         0: .line 1216
            aload 0 /* this */
            getfield java.lang.module.ModuleDescriptor$Version.version:Ljava/lang/String;
            areturn
        end local 0 // java.lang.module.ModuleDescriptor$Version this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/module/ModuleDescriptor$Version;

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.module.ModuleDescriptor$Version
            invokevirtual java.lang.module.ModuleDescriptor$Version.compareTo:(Ljava/lang/module/ModuleDescriptor$Version;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Ljava/lang/module/ModuleDescriptor$Version;>;
SourceFile: "ModuleDescriptor.java"
NestHost: java.lang.module.ModuleDescriptor
InnerClasses:
  public final Version = java.lang.module.ModuleDescriptor$Version of java.lang.module.ModuleDescriptor