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 918
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 919
            aload 1 /* pathSegments */
            ldc "List must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 920
            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 921
            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=5, locals=5, args_size=1
        start local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
         0: .line 925
            getstatic org.springframework.web.util.HierarchicalUriComponents.PATH_DELIMITER_STRING:Ljava/lang/String;
            astore 1 /* delimiter */
        start local 1 // java.lang.String delimiter
         1: .line 926
            new java.util.StringJoiner
            dup
            aload 1 /* delimiter */
            aload 1 /* delimiter */
            ldc ""
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
            astore 2 /* pathBuilder */
        start local 2 // java.util.StringJoiner pathBuilder
         2: .line 927
            aload 0 /* this */
            getfield org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent.pathSegments:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent java.lang.String java.util.StringJoiner top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* pathSegment */
        start local 3 // java.lang.String pathSegment
         4: .line 928
            aload 2 /* pathBuilder */
            aload 3 /* pathSegment */
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        end local 3 // java.lang.String pathSegment
         5: .line 927
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 930
            aload 2 /* pathBuilder */
            invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.util.StringJoiner pathBuilder
        end local 1 // java.lang.String delimiter
        end local 0 // org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/springframework/web/util/HierarchicalUriComponents$PathSegmentComponent;
            1    7     1    delimiter  Ljava/lang/String;
            2    7     2  pathBuilder  Ljava/util/StringJoiner;
            4    5     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 935
            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 940
            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 941
            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 942
            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 943
            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 944
            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 942
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 946
            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 951
            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 952
            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 951
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 954
            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 958
            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 959
            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 960
            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 961
            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 962
            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 960
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 964
            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 969
            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 970
            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 974
            aload 0 /* this */
            aload 1 /* other */
            if_acmpeq 3
            aload 1 /* other */
            instanceof org.springframework.web.util.HierarchicalUriComponents$PathSegmentComponent
            ifeq 2
         1: .line 975
            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 974
      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;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    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 980
            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