class io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment implements io.micronaut.http.uri.UriTemplate$PathSegment
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment
  super_class: java.lang.Object
{
  private final boolean isQuerySegment;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final boolean encode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char modifierChar;
    descriptor: C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final char operator;
    descriptor: C
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final boolean repeatPrefix;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final io.micronaut.http.uri.UriTemplate$UriTemplateParser this$1;
    descriptor: Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(io.micronaut.http.uri.UriTemplate$UriTemplateParser, boolean, java.lang.String, java.lang.String, java.lang.String, boolean, char, char, java.lang.String, java.lang.String, boolean);
    descriptor: (Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;ZCCLjava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=12, args_size=12
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 2 // boolean isQuerySegment
        start local 3 // java.lang.String variable
        start local 4 // java.lang.String prefix
        start local 5 // java.lang.String delimiter
        start local 6 // boolean encode
        start local 7 // char modifierChar
        start local 8 // char operator
        start local 9 // java.lang.String modifierStr
        start local 10 // java.lang.String previousDelimiter
        start local 11 // boolean repeatPrefix
         0: .line 889
            aload 0 /* this */
            aload 1
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.this$1:Lio/micronaut/http/uri/UriTemplate$UriTemplateParser;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 890
            aload 0 /* this */
            iload 2 /* isQuerySegment */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.isQuerySegment:Z
         2: .line 891
            aload 0 /* this */
            aload 3 /* variable */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
         3: .line 892
            aload 0 /* this */
            aload 4 /* prefix */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
         4: .line 893
            aload 0 /* this */
            aload 5 /* delimiter */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
         5: .line 894
            aload 0 /* this */
            iload 6 /* encode */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
         6: .line 895
            aload 0 /* this */
            iload 7 /* modifierChar */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
         7: .line 896
            aload 0 /* this */
            iload 8 /* operator */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
         8: .line 897
            aload 0 /* this */
            aload 9 /* modifierStr */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
         9: .line 898
            aload 0 /* this */
            aload 10 /* previousDelimiter */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.previousDelimiter:Ljava/lang/String;
        10: .line 899
            aload 0 /* this */
            iload 11 /* repeatPrefix */
            putfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.repeatPrefix:Z
        11: .line 900
            return
        end local 11 // boolean repeatPrefix
        end local 10 // java.lang.String previousDelimiter
        end local 9 // java.lang.String modifierStr
        end local 8 // char operator
        end local 7 // char modifierChar
        end local 6 // boolean encode
        end local 5 // java.lang.String delimiter
        end local 4 // java.lang.String prefix
        end local 3 // java.lang.String variable
        end local 2 // boolean isQuerySegment
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0   12     2     isQuerySegment  Z
            0   12     3           variable  Ljava/lang/String;
            0   12     4             prefix  Ljava/lang/String;
            0   12     5          delimiter  Ljava/lang/String;
            0   12     6             encode  Z
            0   12     7       modifierChar  C
            0   12     8           operator  C
            0   12     9        modifierStr  Ljava/lang/String;
            0   12    10  previousDelimiter  Ljava/lang/String;
            0   12    11       repeatPrefix  Z
    MethodParameters:
                   Name  Flags
      this$0             final
      isQuerySegment     
      variable           
      prefix             
      delimiter          
      encode             
      modifierChar       
      operator           
      modifierStr        
      previousDelimiter  
      repeatPrefix       

  public java.util.Optional<java.lang.String> getVariable();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
         0: .line 904
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
    Signature: ()Ljava/util/Optional<Ljava/lang/String;>;

  public char getOperator();
    descriptor: ()C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
         0: .line 908
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            ireturn
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;

  public boolean isQuerySegment();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
         0: .line 913
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.isQuerySegment:Z
            ireturn
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;

  public int length();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
         0: .line 918
            aload 0 /* this */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ireturn
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;

  public char charAt(int);
    descriptor: (I)C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // int index
         0: .line 923
            aload 0 /* this */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.toString:()Ljava/lang/String;
            iload 1 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 1 // int index
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public java.lang.CharSequence subSequence(int, int);
    descriptor: (II)Ljava/lang/CharSequence;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // int start
        start local 2 // int end
         0: .line 928
            aload 0 /* this */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.toString:()Ljava/lang/String;
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual java.lang.String.subSequence:(II)Ljava/lang/CharSequence;
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
         0: .line 933
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 934
            aload 1 /* builder */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 935
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
            bipush 48
            if_icmpeq 6
         3: .line 936
            aload 1 /* builder */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 937
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
            ifnull 6
         5: .line 938
            aload 1 /* builder */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 941
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            1    7     1  builder  Ljava/lang/StringBuilder;

  private java.lang.String escape(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // java.lang.String v
         0: .line 945
            aload 1 /* v */
            ldc "%"
            ldc "%25"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            ldc "\\s"
            ldc "%20"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String v
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0    1     1     v  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      v     

  public java.lang.String expand(java.util.Map<java.lang.String, java.lang.Object>, boolean, boolean);
    descriptor: (Ljava/util/Map;ZZ)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // java.util.Map parameters
        start local 2 // boolean previousHasContent
        start local 3 // boolean anyPreviousHasOperator
         0: .line 950
            aload 1 /* parameters */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.variable:Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* found */
        start local 4 // java.lang.Object found
         1: .line 951
            aload 4 /* found */
            instanceof java.util.Optional
            istore 5 /* isOptional */
        start local 5 // boolean isOptional
         2: .line 952
            aload 4 /* found */
            ifnull 76
            iload 5 /* isOptional */
            ifeq 3
            aload 4 /* found */
            checkcast java.util.Optional
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 76
         3: .line 953
      StackMap locals: java.lang.Object int
      StackMap stack:
            iload 5 /* isOptional */
            ifeq 5
         4: .line 954
            aload 4 /* found */
            checkcast java.util.Optional
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            astore 4 /* found */
         5: .line 956
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
            astore 6 /* prefixToUse */
        start local 6 // java.lang.String prefixToUse
         6: .line 957
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            bipush 63
            if_icmpne 8
            iload 3 /* anyPreviousHasOperator */
            ifne 8
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
            ifnull 8
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         7: .line 958
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.prefix:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* prefixToUse */
         8: .line 962
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* found */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 10
         9: .line 963
            aload 4 /* found */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 4 /* found */
        10: .line 965
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            bipush 63
            if_icmpne 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 8 /* isQuery */
        start local 8 // boolean isQuery
        13: .line 967
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
            bipush 42
            if_icmpne 15
        14: .line 968
            aload 0 /* this */
            aload 4 /* found */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.expandPOJO:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* found */
        15: .line 971
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int
      StackMap stack:
            aload 4 /* found */
            instanceof java.lang.Iterable
            ifeq 30
        16: .line 972
            aload 4 /* found */
            checkcast java.lang.Iterable
            astore 9 /* iter */
        start local 9 // java.lang.Iterable iter
        17: .line 973
            aload 9 /* iter */
            instanceof java.util.Collection
            ifeq 19
            aload 9 /* iter */
            checkcast java.util.Collection
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 19
        18: .line 974
            ldc ""
            areturn
        19: .line 976
      StackMap locals: java.lang.Iterable
      StackMap stack:
            new java.util.StringJoiner
            dup
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 10 /* joiner */
        start local 10 // java.util.StringJoiner joiner
        20: .line 977
            aload 9 /* iter */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 12
            goto 27
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner top java.util.Iterator
      StackMap stack:
        21: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 11 /* o */
        start local 11 // java.lang.Object o
        22: .line 978
            aload 11 /* o */
            ifnull 27
        23: .line 979
            aload 11 /* o */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 13 /* v */
        start local 13 // java.lang.String v
        24: .line 980
            aload 10 /* joiner */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
            ifeq 25
            aload 0 /* this */
            aload 13 /* v */
            iload 8 /* isQuery */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
            goto 26
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner java.lang.Object java.util.Iterator java.lang.String
      StackMap stack: java.util.StringJoiner
        25: aload 0 /* this */
            aload 13 /* v */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner java.lang.Object java.util.Iterator java.lang.String
      StackMap stack: java.util.StringJoiner java.lang.String
        26: invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        end local 13 // java.lang.String v
        end local 11 // java.lang.Object o
        27: .line 977
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int java.lang.Iterable java.util.StringJoiner top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        28: .line 983
            aload 10 /* joiner */
            invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
            astore 7 /* result */
        end local 10 // java.util.StringJoiner joiner
        end local 9 // java.lang.Iterable iter
        start local 7 // java.lang.String result
        29: .line 984
            goto 56
        end local 7 // java.lang.String result
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String top int
      StackMap stack:
        30: aload 4 /* found */
            instanceof java.util.Map
            ifeq 51
        31: .line 985
            aload 4 /* found */
            checkcast java.util.Map
            astore 9 /* map */
        start local 9 // java.util.Map map
        32: .line 986
            aload 9 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  java/util/Objects.isNull(Ljava/lang/Object;)Z (6)
                  (Ljava/lang/Object;)Z
            invokeinterface java.util.Collection.removeIf:(Ljava/util/function/Predicate;)Z
            pop
        33: .line 987
            aload 9 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 35
        34: .line 988
            ldc ""
            areturn
        35: .line 991
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
            bipush 42
            if_icmpne 47
        36: .line 993
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            lookupswitch { // 3
                   38: 37
                   59: 42
                   63: 37
              default: 45
          }
        37: .line 996
      StackMap locals:
      StackMap stack:
            iload 3 /* anyPreviousHasOperator */
            ifeq 38
            bipush 38
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
      StackMap locals:
      StackMap stack: int
        39: invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 6 /* prefixToUse */
        40: .line 997
            new java.util.StringJoiner
            dup
            bipush 38
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 10 /* joiner */
        start local 10 // java.util.StringJoiner joiner
        41: .line 998
            goto 48
        end local 10 // java.util.StringJoiner joiner
        42: .line 1000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 6 /* prefixToUse */
        43: .line 1001
            new java.util.StringJoiner
            dup
            aload 6 /* prefixToUse */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 10 /* joiner */
        start local 10 // java.util.StringJoiner joiner
        44: .line 1002
            goto 48
        end local 10 // java.util.StringJoiner joiner
        45: .line 1004
      StackMap locals:
      StackMap stack:
            new java.util.StringJoiner
            dup
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 10 /* joiner */
        start local 10 // java.util.StringJoiner joiner
        46: .line 1006
            goto 48
        end local 10 // java.util.StringJoiner joiner
        47: .line 1007
      StackMap locals:
      StackMap stack:
            new java.util.StringJoiner
            dup
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.delimiter:Ljava/lang/String;
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
            astore 10 /* joiner */
        start local 10 // java.util.StringJoiner joiner
        48: .line 1010
      StackMap locals: java.util.StringJoiner
      StackMap stack:
            aload 9 /* map */
            aload 0 /* this */
            iload 8 /* isQuery */
            aload 10 /* joiner */
            invokedynamic accept(Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;ZLjava/util/StringJoiner;)Ljava/util/function/BiConsumer;
              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;)V
                  io/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment.lambda$1(ZLjava/util/StringJoiner;Ljava/lang/Object;Ljava/lang/Object;)V (7)
                  (Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
        49: .line 1029
            aload 10 /* joiner */
            invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
            astore 7 /* result */
        end local 10 // java.util.StringJoiner joiner
        end local 9 // java.util.Map map
        start local 7 // java.lang.String result
        50: .line 1030
            goto 56
        end local 7 // java.lang.String result
        51: .line 1031
      StackMap locals:
      StackMap stack:
            aload 4 /* found */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 9 /* str */
        start local 9 // java.lang.String str
        52: .line 1032
            aload 0 /* this */
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierStr:Ljava/lang/String;
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
            aload 9 /* str */
            aload 9 /* str */
            invokevirtual java.lang.String.length:()I
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.applyModifier:(Ljava/lang/String;CLjava/lang/String;I)Ljava/lang/String;
            astore 9 /* str */
        53: .line 1033
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
            ifeq 54
            aload 0 /* this */
            aload 9 /* str */
            iload 8 /* isQuery */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
            goto 55
      StackMap locals: java.lang.String
      StackMap stack:
        54: aload 0 /* this */
            aload 9 /* str */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        55: astore 7 /* result */
        end local 9 // java.lang.String str
        start local 7 // java.lang.String result
        56: .line 1035
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String java.lang.String int
      StackMap stack:
            aload 7 /* result */
            invokevirtual java.lang.String.length:()I
            istore 9 /* len */
        start local 9 // int len
        57: .line 1036
            new java.lang.StringBuilder
            dup
            iload 2 /* previousHasContent */
            ifeq 58
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.previousDelimiter:Ljava/lang/String;
            ifnull 58
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.previousDelimiter:Ljava/lang/String;
            goto 59
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String java.lang.String int int
      StackMap stack: new 57 new 57
        58: ldc ""
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int java.lang.String java.lang.String int int
      StackMap stack: new 57 new 57 java.lang.String
        59: invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 10 /* finalResult */
        start local 10 // java.lang.StringBuilder finalResult
        60: .line 1037
            iload 9 /* len */
            ifne 71
        61: .line 1038
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            lookupswitch { // 2
                   47: 62
                   59: 63
              default: 66
          }
        62: .line 1040
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            goto 75
        63: .line 1042
      StackMap locals:
      StackMap stack:
            aload 6 /* prefixToUse */
            ifnull 66
            aload 6 /* prefixToUse */
            ldc "="
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 66
        64: .line 1043
            aload 10 /* finalResult */
            aload 6 /* prefixToUse */
            iconst_0
            aload 6 /* prefixToUse */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        65: .line 1044
            goto 75
        66: .line 1047
      StackMap locals:
      StackMap stack:
            aload 6 /* prefixToUse */
            ifnull 69
        67: .line 1048
            aload 10 /* finalResult */
            aload 6 /* prefixToUse */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        68: .line 1049
            goto 75
        69: .line 1050
      StackMap locals:
      StackMap stack:
            aload 10 /* finalResult */
            aload 7 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 1053
            goto 75
      StackMap locals:
      StackMap stack:
        71: aload 6 /* prefixToUse */
            ifnull 74
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.repeatPrefix:Z
            ifeq 74
        72: .line 1054
            aload 10 /* finalResult */
            aload 6 /* prefixToUse */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        73: .line 1055
            goto 75
        74: .line 1056
      StackMap locals:
      StackMap stack:
            aload 10 /* finalResult */
            aload 7 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        75: .line 1058
      StackMap locals:
      StackMap stack:
            aload 10 /* finalResult */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 10 // java.lang.StringBuilder finalResult
        end local 9 // int len
        end local 8 // boolean isQuery
        end local 7 // java.lang.String result
        end local 6 // java.lang.String prefixToUse
        76: .line 1060
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.util.Map int int java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.operator:C
            tableswitch { // 47 - 47
                   47: 77
              default: 78
          }
        77: .line 1062
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        78: .line 1064
      StackMap locals:
      StackMap stack:
            ldc ""
            areturn
        end local 5 // boolean isOptional
        end local 4 // java.lang.Object found
        end local 3 // boolean anyPreviousHasOperator
        end local 2 // boolean previousHasContent
        end local 1 // java.util.Map parameters
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   79     0                    this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0   79     1              parameters  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            0   79     2      previousHasContent  Z
            0   79     3  anyPreviousHasOperator  Z
            1   79     4                   found  Ljava/lang/Object;
            2   79     5              isOptional  Z
            6   76     6             prefixToUse  Ljava/lang/String;
           29   30     7                  result  Ljava/lang/String;
           50   51     7                  result  Ljava/lang/String;
           56   76     7                  result  Ljava/lang/String;
           13   76     8                 isQuery  Z
           17   29     9                    iter  Ljava/lang/Iterable;
           20   29    10                  joiner  Ljava/util/StringJoiner;
           22   27    11                       o  Ljava/lang/Object;
           24   27    13                       v  Ljava/lang/String;
           32   50     9                     map  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
           41   42    10                  joiner  Ljava/util/StringJoiner;
           44   45    10                  joiner  Ljava/util/StringJoiner;
           46   47    10                  joiner  Ljava/util/StringJoiner;
           48   50    10                  joiner  Ljava/util/StringJoiner;
           52   56     9                     str  Ljava/lang/String;
           57   76     9                     len  I
           60   76    10             finalResult  Ljava/lang/StringBuilder;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;ZZ)Ljava/lang/String;
    MethodParameters:
                        Name  Flags
      parameters              
      previousHasContent      
      anyPreviousHasOperator  

  private java.lang.String applyModifier(java.lang.String, char, java.lang.String, int);
    descriptor: (Ljava/lang/String;CLjava/lang/String;I)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // java.lang.String modifierStr
        start local 2 // char modifierChar
        start local 3 // java.lang.String result
        start local 4 // int len
         0: .line 1072
            iload 2 /* modifierChar */
            bipush 58
            if_icmpne 7
            aload 1 /* modifierStr */
            invokevirtual java.lang.String.length:()I
            ifle 7
            aload 1 /* modifierStr */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isDigit:(C)Z
            ifeq 7
         1: .line 1074
            aload 1 /* modifierStr */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            bipush 10
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            istore 5 /* subResult */
        start local 5 // int subResult
         2: .line 1075
            iload 5 /* subResult */
            iload 4 /* len */
            if_icmpge 7
         3: .line 1076
            aload 3 /* result */
            iconst_0
            iload 5 /* subResult */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* result */
        end local 5 // int subResult
         4: .line 1078
            goto 7
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 1079
            new java.lang.StringBuilder
            dup
            ldc ":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* modifierStr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* result */
         7: .line 1082
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 4 // int len
        end local 3 // java.lang.String result
        end local 2 // char modifierChar
        end local 1 // java.lang.String modifierStr
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0    8     1   modifierStr  Ljava/lang/String;
            0    8     2  modifierChar  C
            0    8     3        result  Ljava/lang/String;
            0    8     4           len  I
            2    4     5     subResult  I
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      modifierStr   
      modifierChar  
      result        
      len           

  private java.lang.String encode(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // java.lang.String str
        start local 2 // boolean query
         0: .line 1087
            aload 1 /* str */
            ldc "UTF-8"
            invokestatic java.net.URLEncoder.encode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* encoded */
        start local 3 // java.lang.String encoded
         1: .line 1088
            iload 2 /* query */
            ifeq 4
         2: .line 1089
            aload 3 /* encoded */
         3: areturn
         4: .line 1091
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* encoded */
            ldc "+"
            ldc "%20"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
         5: areturn
        end local 3 // java.lang.String encoded
         6: .line 1093
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment java.lang.String int
      StackMap stack: java.io.UnsupportedEncodingException
            astore 3 /* e */
        start local 3 // java.io.UnsupportedEncodingException e
         7: .line 1094
            new java.lang.IllegalStateException
            dup
            ldc "No available encoding"
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.UnsupportedEncodingException e
        end local 2 // boolean query
        end local 1 // java.lang.String str
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0    8     1      str  Ljava/lang/String;
            0    8     2    query  Z
            1    6     3  encoded  Ljava/lang/String;
            7    8     3        e  Ljava/io/UnsupportedEncodingException;
      Exception table:
        from    to  target  type
           0     3       6  Class java.io.UnsupportedEncodingException
           4     5       6  Class java.io.UnsupportedEncodingException
    MethodParameters:
       Name  Flags
      str    
      query  

  private java.lang.Object expandPOJO(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 1 // java.lang.Object found
         0: .line 1100
            aload 1 /* found */
            instanceof java.lang.Iterable
            ifne 1
            aload 1 /* found */
            instanceof java.util.Map
            ifeq 2
         1: .line 1101
      StackMap locals:
      StackMap stack:
            aload 1 /* found */
            areturn
         2: .line 1104
      StackMap locals:
      StackMap stack:
            aload 1 /* found */
            ifnull 3
            aload 1 /* found */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic io.micronaut.core.reflect.ClassUtils.isJavaLangType:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 1105
      StackMap locals:
      StackMap stack:
            aload 1 /* found */
            areturn
         4: .line 1108
      StackMap locals:
      StackMap stack:
            aload 1 /* found */
            invokestatic io.micronaut.core.beans.BeanMap.of:(Ljava/lang/Object;)Lio/micronaut/core/beans/BeanMap;
            areturn
        end local 1 // java.lang.Object found
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0    5     1  found  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      found  

  private void lambda$1(boolean, java.util.StringJoiner, java.lang.Object, java.lang.Object);
    descriptor: (ZLjava/util/StringJoiner;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=13, args_size=5
        start local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object some
         0: .line 1011
            aload 3 /* key */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 5 /* ks */
        start local 5 // java.lang.String ks
         1: .line 1012
            aload 4 /* some */
            instanceof java.lang.Iterable
            ifeq 2
            aload 4 /* some */
            checkcast java.lang.Iterable
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 4 /* some */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
      StackMap locals:
      StackMap stack: java.lang.Iterable
         3: astore 6 /* values */
        start local 6 // java.lang.Iterable values
         4: .line 1013
            aload 6 /* values */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment int java.util.StringJoiner java.lang.Object java.lang.Object java.lang.String java.lang.Iterable top java.util.Iterator
      StackMap stack:
         5: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
         6: .line 1014
            aload 7 /* value */
            ifnonnull 8
         7: .line 1015
            goto 21
         8: .line 1017
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment int java.util.StringJoiner java.lang.Object java.lang.Object java.lang.String java.lang.Iterable java.lang.Object java.util.Iterator
      StackMap stack:
            aload 7 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 9 /* vs */
        start local 9 // java.lang.String vs
         9: .line 1018
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
            ifeq 10
            aload 0 /* this */
            aload 5 /* ks */
            iload 1
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
            goto 11
      StackMap locals: java.lang.String
      StackMap stack:
        10: aload 0 /* this */
            aload 5 /* ks */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        11: astore 10 /* ek */
        start local 10 // java.lang.String ek
        12: .line 1019
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:Z
            ifeq 13
            aload 0 /* this */
            aload 9 /* vs */
            iload 1
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.encode:(Ljava/lang/String;Z)Ljava/lang/String;
            goto 14
      StackMap locals: java.lang.String
      StackMap stack:
        13: aload 0 /* this */
            aload 9 /* vs */
            invokevirtual io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.escape:(Ljava/lang/String;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        14: astore 11 /* ev */
        start local 11 // java.lang.String ev
        15: .line 1020
            aload 0 /* this */
            getfield io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment.modifierChar:C
            bipush 42
            if_icmpne 19
        16: .line 1021
            new java.lang.StringBuilder
            dup
            aload 10 /* ek */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 11 /* ev */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 12 /* finalValue */
        start local 12 // java.lang.String finalValue
        17: .line 1022
            aload 2
            aload 12 /* finalValue */
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        end local 12 // java.lang.String finalValue
        18: .line 1023
            goto 21
        19: .line 1024
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2
            aload 10 /* ek */
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        20: .line 1025
            aload 2
            aload 11 /* ev */
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        end local 11 // java.lang.String ev
        end local 10 // java.lang.String ek
        end local 9 // java.lang.String vs
        end local 7 // java.lang.Object value
        21: .line 1013
      StackMap locals: io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment int java.util.StringJoiner java.lang.Object java.lang.Object java.lang.String java.lang.Iterable top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 6 // java.lang.Iterable values
        end local 5 // java.lang.String ks
        22: .line 1028
            return
        end local 4 // java.lang.Object some
        end local 3 // java.lang.Object key
        end local 0 // io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lio/micronaut/http/uri/UriTemplate$UriTemplateParser$VariablePathSegment;
            0   23     3         key  Ljava/lang/Object;
            0   23     4        some  Ljava/lang/Object;
            1   22     5          ks  Ljava/lang/String;
            4   22     6      values  Ljava/lang/Iterable<*>;
            6   21     7       value  Ljava/lang/Object;
            9   21     9          vs  Ljava/lang/String;
           12   21    10          ek  Ljava/lang/String;
           15   21    11          ev  Ljava/lang/String;
           17   18    12  finalValue  Ljava/lang/String;
}
SourceFile: "UriTemplate.java"
NestHost: io.micronaut.http.uri.UriTemplate
InnerClasses:
  protected abstract PathSegment = io.micronaut.http.uri.UriTemplate$PathSegment of io.micronaut.http.uri.UriTemplate
  protected UriTemplateParser = io.micronaut.http.uri.UriTemplate$UriTemplateParser of io.micronaut.http.uri.UriTemplate
  private VariablePathSegment = io.micronaut.http.uri.UriTemplate$UriTemplateParser$VariablePathSegment of io.micronaut.http.uri.UriTemplate$UriTemplateParser
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles