final class org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite implements org.springframework.web.util.HierarchicalUriComponents$PathComponent
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite
  super_class: java.lang.Object
{
  private final java.util.List<org.springframework.web.util.HierarchicalUriComponents$PathComponent> pathComponents;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;>;

  public void <init>(java.util.List<org.springframework.web.util.HierarchicalUriComponents$PathComponent>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
        start local 1 // java.util.List pathComponents
         0: .line 992
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 993
            aload 1 /* pathComponents */
            ldc "PathComponent List must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 994
            aload 0 /* this */
            aload 1 /* pathComponents */
            putfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
         3: .line 995
            return
        end local 1 // java.util.List pathComponents
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            0    4     1  pathComponents  Ljava/util/List<Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;>;
    Signature: (Ljava/util/List<Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;>;)V
    MethodParameters:
                Name  Flags
      pathComponents  

  public java.lang.String getPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
         0: .line 999
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* pathBuilder */
        start local 1 // java.lang.StringBuilder pathBuilder
         1: .line 1000
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathComponent
            astore 2 /* pathComponent */
        start local 2 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         3: .line 1001
            aload 1 /* pathBuilder */
            aload 2 /* pathComponent */
            invokeinterface org.springframework.web.util.HierarchicalUriComponents$PathComponent.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         4: .line 1000
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1003
            aload 1 /* pathBuilder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder pathBuilder
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            1    6     1    pathBuilder  Ljava/lang/StringBuilder;
            3    4     2  pathComponent  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;

  public java.util.List<java.lang.String> getPathSegments();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
         0: .line 1008
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 1009
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathComponent
            astore 2 /* pathComponent */
        start local 2 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         3: .line 1010
            aload 1 /* result */
            aload 2 /* pathComponent */
            invokeinterface org.springframework.web.util.HierarchicalUriComponents$PathComponent.getPathSegments:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 2 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         4: .line 1009
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1012
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            1    6     1         result  Ljava/util/List<Ljava/lang/String;>;
            3    4     2  pathComponent  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public org.springframework.web.util.HierarchicalUriComponents$PathComponent encode(java.util.function.BiFunction<java.lang.String, org.springframework.web.util.HierarchicalUriComponents$Type, java.lang.String>);
    descriptor: (Ljava/util/function/BiFunction;)Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
        start local 1 // java.util.function.BiFunction encoder
         0: .line 1017
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* encodedComponents */
        start local 2 // java.util.List encodedComponents
         1: .line 1018
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite java.util.function.BiFunction java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathComponent
            astore 3 /* pathComponent */
        start local 3 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         3: .line 1019
            aload 2 /* encodedComponents */
            aload 3 /* pathComponent */
            aload 1 /* encoder */
            invokeinterface org.springframework.web.util.HierarchicalUriComponents$PathComponent.encode:(Ljava/util/function/BiFunction;)Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         4: .line 1018
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1021
            new org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite
            dup
            aload 2 /* encodedComponents */
            invokespecial org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.<init>:(Ljava/util/List;)V
            areturn
        end local 2 // java.util.List encodedComponents
        end local 1 // java.util.function.BiFunction encoder
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            0    6     1            encoder  Ljava/util/function/BiFunction<Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;Ljava/lang/String;>;
            1    6     2  encodedComponents  Ljava/util/List<Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;>;
            3    4     3      pathComponent  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    Signature: (Ljava/util/function/BiFunction<Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;Ljava/lang/String;>;)Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    MethodParameters:
         Name  Flags
      encoder  

  public void verify();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
         0: .line 1026
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathComponent
            astore 1 /* pathComponent */
        start local 1 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         2: .line 1027
            aload 1 /* pathComponent */
            invokeinterface org.springframework.web.util.HierarchicalUriComponents$PathComponent.verify:()V
        end local 1 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         3: .line 1026
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1029
            return
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            2    3     1  pathComponent  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;

  public org.springframework.web.util.HierarchicalUriComponents$PathComponent expand(org.springframework.web.util.UriComponents$UriTemplateVariables, java.util.function.UnaryOperator<java.lang.String>);
    descriptor: (Lorg/springframework/web/util/UriComponents$UriTemplateVariables;Ljava/util/function/UnaryOperator;)Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
        start local 1 // org.springframework.web.util.UriComponents$UriTemplateVariables uriVariables
        start local 2 // java.util.function.UnaryOperator encoder
         0: .line 1033
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* expandedComponents */
        start local 3 // java.util.List expandedComponents
         1: .line 1034
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite org.springframework.web.util.UriComponents$UriTemplateVariables java.util.function.UnaryOperator java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathComponent
            astore 4 /* pathComponent */
        start local 4 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         3: .line 1035
            aload 3 /* expandedComponents */
            aload 4 /* pathComponent */
            aload 1 /* uriVariables */
            aload 2 /* encoder */
            invokeinterface org.springframework.web.util.HierarchicalUriComponents$PathComponent.expand:(Lorg/springframework/web/util/UriComponents$UriTemplateVariables;Ljava/util/function/UnaryOperator;)Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         4: .line 1034
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1037
            new org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite
            dup
            aload 3 /* expandedComponents */
            invokespecial org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.<init>:(Ljava/util/List;)V
            areturn
        end local 3 // java.util.List expandedComponents
        end local 2 // java.util.function.UnaryOperator encoder
        end local 1 // org.springframework.web.util.UriComponents$UriTemplateVariables uriVariables
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            0    6     1        uriVariables  Lorg/springframework/web/util/UriComponents$UriTemplateVariables;
            0    6     2             encoder  Ljava/util/function/UnaryOperator<Ljava/lang/String;>;
            1    6     3  expandedComponents  Ljava/util/List<Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;>;
            3    4     4       pathComponent  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    Signature: (Lorg/springframework/web/util/UriComponents$UriTemplateVariables;Ljava/util/function/UnaryOperator<Ljava/lang/String;>;)Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
              Name  Flags
      uriVariables  
      encoder       

  public void copyToUriComponentsBuilder(org.springframework.web.util.UriComponentsBuilder);
    descriptor: (Lorg/springframework/web/util/UriComponentsBuilder;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
        start local 1 // org.springframework.web.util.UriComponentsBuilder builder
         0: .line 1042
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite.pathComponents:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite org.springframework.web.util.UriComponentsBuilder top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathComponent
            astore 2 /* pathComponent */
        start local 2 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         2: .line 1043
            aload 2 /* pathComponent */
            aload 1 /* builder */
            invokeinterface org.springframework.web.util.HierarchicalUriComponents$PathComponent.copyToUriComponentsBuilder:(Lorg/springframework/web/util/UriComponentsBuilder;)V
        end local 2 // org.springframework.web.util.HierarchicalUriComponents$PathComponent pathComponent
         3: .line 1042
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1045
            return
        end local 1 // org.springframework.web.util.UriComponentsBuilder builder
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponentComposite;
            0    5     1        builder  Lorg/springframework/web/util/UriComponentsBuilder;
            2    3     2  pathComponent  Lorg/springframework/web/util/HierarchicalUriComponents$PathComponent;
    MethodParameters:
         Name  Flags
      builder  
}
SourceFile: "HierarchicalUriComponents.java"
NestHost: org.springframework.web.util.HierarchicalUriComponents
InnerClasses:
  abstract PathComponent = org.springframework.web.util.HierarchicalUriComponents$PathComponent of org.springframework.web.util.HierarchicalUriComponents
  final PathComponentComposite = org.springframework.web.util.HierarchicalUriComponents$PathComponentComposite of org.springframework.web.util.HierarchicalUriComponents
  abstract Type = org.springframework.web.util.HierarchicalUriComponents$Type of org.springframework.web.util.HierarchicalUriComponents
  public abstract UriTemplateVariables = org.springframework.web.util.UriComponents$UriTemplateVariables of org.springframework.web.util.UriComponents