final class org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent 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$PathSegmentComponent
  super_class: java.lang.Object
{
  private final java.util.List<java.lang.String> pathSegments;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public void <init>(java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
        start local 1 // java.util.List pathSegments
         0: .line 910
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 911
            aload 1 /* pathSegments */
            ldc "List must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 912
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* pathSegments */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.pathSegments:Ljava/util/List;
         3: .line 913
            return
        end local 1 // java.util.List pathSegments
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            0    4     1  pathSegments  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      pathSegments  

  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$PathSegmentComponent this
         0: .line 917
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* pathBuilder */
        start local 1 // java.lang.StringBuilder pathBuilder
         1: .line 918
            aload 1 /* pathBuilder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 919
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.pathSegments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* iterator */
        start local 2 // java.util.Iterator iterator
         3: goto 8
         4: .line 920
      StackMap locals: java.lang.StringBuilder java.util.Iterator
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* pathSegment */
        start local 3 // java.lang.String pathSegment
         5: .line 921
            aload 1 /* pathBuilder */
            aload 3 /* pathSegment */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 922
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 8
         7: .line 923
            aload 1 /* pathBuilder */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.String pathSegment
         8: .line 919
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator iterator
         9: .line 926
            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$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            1   10     1  pathBuilder  Ljava/lang/StringBuilder;
            3    9     2     iterator  Ljava/util/Iterator<Ljava/lang/String;>;
            5    8     3  pathSegment  Ljava/lang/String;

  public java.util.List<java.lang.String> getPathSegments();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
         0: .line 931
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.pathSegments:Ljava/util/List;
            areturn
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
    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=7, args_size=2
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
        start local 1 // java.util.function.BiFunction encoder
         0: .line 936
            aload 0 /* this */
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            astore 2 /* pathSegments */
        start local 2 // java.util.List pathSegments
         1: .line 937
            new java.util.ArrayList
            dup
            aload 2 /* pathSegments */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* encodedPathSegments */
        start local 3 // java.util.List encodedPathSegments
         2: .line 938
            aload 2 /* pathSegments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent java.util.function.BiFunction java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* pathSegment */
        start local 4 // java.lang.String pathSegment
         4: .line 939
            aload 1 /* encoder */
            aload 4 /* pathSegment */
            getstatic org.springframework.web.util.HierarchicalUriComponents$Type.PATH_SEGMENT:Lorg/springframework/web/util/HierarchicalUriComponents$Type;
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* encodedPathSegment */
        start local 6 // java.lang.String encodedPathSegment
         5: .line 940
            aload 3 /* encodedPathSegments */
            aload 6 /* encodedPathSegment */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String encodedPathSegment
        end local 4 // java.lang.String pathSegment
         6: .line 938
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 942
            new org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent
            dup
            aload 3 /* encodedPathSegments */
            invokespecial org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.<init>:(Ljava/util/List;)V
            areturn
        end local 3 // java.util.List encodedPathSegments
        end local 2 // java.util.List pathSegments
        end local 1 // java.util.function.BiFunction encoder
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            0    8     1              encoder  Ljava/util/function/BiFunction<Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;Ljava/lang/String;>;
            1    8     2         pathSegments  Ljava/util/List<Ljava/lang/String;>;
            2    8     3  encodedPathSegments  Ljava/util/List<Ljava/lang/String;>;
            4    6     4          pathSegment  Ljava/lang/String;
            5    6     6   encodedPathSegment  Ljava/lang/String;
    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=2, locals=3, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
         0: .line 947
            aload 0 /* this */
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* pathSegment */
        start local 1 // java.lang.String pathSegment
         2: .line 948
            aload 1 /* pathSegment */
            getstatic org.springframework.web.util.HierarchicalUriComponents$Type.PATH_SEGMENT:Lorg/springframework/web/util/HierarchicalUriComponents$Type;
            invokestatic org.springframework.web.util.HierarchicalUriComponents.verifyUriComponent:(Ljava/lang/String;Lorg/springframework/web/util/HierarchicalUriComponents$Type;)V
        end local 1 // java.lang.String pathSegment
         3: .line 947
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 950
            return
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            2    3     1  pathSegment  Ljava/lang/String;

  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=3, locals=8, args_size=3
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
        start local 1 // org.springframework.web.util.UriComponents$UriTemplateVariables uriVariables
        start local 2 // java.util.function.UnaryOperator encoder
         0: .line 954
            aload 0 /* this */
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            astore 3 /* pathSegments */
        start local 3 // java.util.List pathSegments
         1: .line 955
            new java.util.ArrayList
            dup
            aload 3 /* pathSegments */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* expandedPathSegments */
        start local 4 // java.util.List expandedPathSegments
         2: .line 956
            aload 3 /* pathSegments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent org.springframework.web.util.UriComponents$UriTemplateVariables java.util.function.UnaryOperator java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* pathSegment */
        start local 5 // java.lang.String pathSegment
         4: .line 957
            aload 5 /* pathSegment */
            aload 1 /* uriVariables */
            aload 2 /* encoder */
            invokestatic org.springframework.web.util.HierarchicalUriComponents.expandUriComponent:(Ljava/lang/String;Lorg/springframework/web/util/UriComponents$UriTemplateVariables;Ljava/util/function/UnaryOperator;)Ljava/lang/String;
            astore 7 /* expandedPathSegment */
        start local 7 // java.lang.String expandedPathSegment
         5: .line 958
            aload 4 /* expandedPathSegments */
            aload 7 /* expandedPathSegment */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String expandedPathSegment
        end local 5 // java.lang.String pathSegment
         6: .line 956
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 960
            new org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent
            dup
            aload 4 /* expandedPathSegments */
            invokespecial org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.<init>:(Ljava/util/List;)V
            areturn
        end local 4 // java.util.List expandedPathSegments
        end local 3 // java.util.List pathSegments
        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$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            0    8     1          uriVariables  Lorg/springframework/web/util/UriComponents$UriTemplateVariables;
            0    8     2               encoder  Ljava/util/function/UnaryOperator<Ljava/lang/String;>;
            1    8     3          pathSegments  Ljava/util/List<Ljava/lang/String;>;
            2    8     4  expandedPathSegments  Ljava/util/List<Ljava/lang/String;>;
            4    6     5           pathSegment  Ljava/lang/String;
            5    6     7   expandedPathSegment  Ljava/lang/String;
    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=2, args_size=2
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
        start local 1 // org.springframework.web.util.UriComponentsBuilder builder
         0: .line 965
            aload 1 /* builder */
            aload 0 /* this */
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            invokestatic org.springframework.util.StringUtils.toStringArray:(Ljava/util/Collection;)[Ljava/lang/String;
            invokevirtual org.springframework.web.util.UriComponentsBuilder.pathSegment:([Ljava/lang/String;)Lorg/springframework/web/util/UriComponentsBuilder;
            pop
         1: .line 966
            return
        end local 1 // org.springframework.web.util.UriComponentsBuilder builder
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            0    2     1  builder  Lorg/springframework/web/util/UriComponentsBuilder;
    MethodParameters:
         Name  Flags
      builder  

  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 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
        start local 1 // java.lang.Object other
         0: .line 970
            aload 0 /* this */
            aload 1 /* other */
            if_acmpeq 3
            aload 1 /* other */
            instanceof org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent
            ifeq 2
         1: .line 971
            aload 0 /* this */
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            aload 1 /* other */
            checkcast org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 970
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            0    4     1  other  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
         0: .line 976
            aload 0 /* this */
            invokevirtual org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.getPathSegments:()Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            ireturn
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
}
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 PathSegmentComponent = org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent 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