public class org.springframework.data.web.PagedResourcesAssembler<T> implements org.springframework.hateoas.server.RepresentationModelAssembler<org.springframework.data.domain.Page<T>, org.springframework.hateoas.PagedModel<org.springframework.hateoas.EntityModel<T>>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.data.web.PagedResourcesAssembler
  super_class: java.lang.Object
{
  private final org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver pageableResolver;
    descriptor: Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Optional<org.springframework.web.util.UriComponents> baseUri;
    descriptor: Ljava/util/Optional;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Optional<Lorg/springframework/web/util/UriComponents;>;

  private final org.springframework.hateoas.server.core.EmbeddedWrappers wrappers;
    descriptor: Lorg/springframework/hateoas/server/core/EmbeddedWrappers;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean forceFirstAndLastRels;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver, org.springframework.web.util.UriComponents);
    descriptor: (Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;Lorg/springframework/web/util/UriComponents;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver resolver
        start local 2 // org.springframework.web.util.UriComponents baseUri
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new org.springframework.hateoas.server.core.EmbeddedWrappers
            dup
            iconst_0
            invokespecial org.springframework.hateoas.server.core.EmbeddedWrappers.<init>:(Z)V
            putfield org.springframework.data.web.PagedResourcesAssembler.wrappers:Lorg/springframework/hateoas/server/core/EmbeddedWrappers;
         2: .line 60
            aload 0 /* this */
            iconst_0
            putfield org.springframework.data.web.PagedResourcesAssembler.forceFirstAndLastRels:Z
         3: .line 73
            aload 0 /* this */
            aload 1 /* resolver */
            ifnonnull 4
            new org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver
            dup
            invokespecial org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.<init>:()V
            goto 5
      StackMap locals: org.springframework.data.web.PagedResourcesAssembler org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.web.util.UriComponents
      StackMap stack: org.springframework.data.web.PagedResourcesAssembler
         4: aload 1 /* resolver */
      StackMap locals: org.springframework.data.web.PagedResourcesAssembler org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver org.springframework.web.util.UriComponents
      StackMap stack: org.springframework.data.web.PagedResourcesAssembler org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver
         5: putfield org.springframework.data.web.PagedResourcesAssembler.pageableResolver:Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
         6: .line 74
            aload 0 /* this */
            aload 2 /* baseUri */
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            putfield org.springframework.data.web.PagedResourcesAssembler.baseUri:Ljava/util/Optional;
         7: .line 75
            return
        end local 2 // org.springframework.web.util.UriComponents baseUri
        end local 1 // org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver resolver
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    8     1  resolver  Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
            0    8     2   baseUri  Lorg/springframework/web/util/UriComponents;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      resolver  
      baseUri   

  public void setForceFirstAndLastRels(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // boolean forceFirstAndLastRels
         0: .line 87
            aload 0 /* this */
            iload 1 /* forceFirstAndLastRels */
            putfield org.springframework.data.web.PagedResourcesAssembler.forceFirstAndLastRels:Z
         1: .line 88
            return
        end local 1 // boolean forceFirstAndLastRels
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    2     1  forceFirstAndLastRels  Z
    MethodParameters:
                       Name  Flags
      forceFirstAndLastRels  

  public org.springframework.hateoas.PagedModel<org.springframework.hateoas.EntityModel<T>> toModel(org.springframework.data.domain.Page<T>);
    descriptor: (Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page entity
         0: .line 97
            aload 0 /* this */
            aload 1 /* entity */
            invokedynamic toModel()Lorg/springframework/hateoas/server/RepresentationModelAssembler;
              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;)Lorg/springframework/hateoas/RepresentationModel;
                  org/springframework/data/web/PagedResourcesAssembler.lambda$0(Ljava/lang/Object;)Lorg/springframework/hateoas/EntityModel; (6)
                  (Ljava/lang/Object;)Lorg/springframework/hateoas/EntityModel;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.toModel:(Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 1 // org.springframework.data.domain.Page entity
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    1     1  entity  Lorg/springframework/data/domain/Page<TT;>;
    Signature: (Lorg/springframework/data/domain/Page<TT;>;)Lorg/springframework/hateoas/PagedModel<Lorg/springframework/hateoas/EntityModel<TT;>;>;
    MethodParameters:
        Name  Flags
      entity  

  public org.springframework.hateoas.PagedModel<org.springframework.hateoas.EntityModel<T>> toModel(org.springframework.data.domain.Page<T>, org.springframework.hateoas.Link);
    descriptor: (Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // org.springframework.hateoas.Link selfLink
         0: .line 110
            aload 0 /* this */
            aload 1 /* page */
            invokedynamic toModel()Lorg/springframework/hateoas/server/RepresentationModelAssembler;
              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;)Lorg/springframework/hateoas/RepresentationModel;
                  org/springframework/data/web/PagedResourcesAssembler.lambda$1(Ljava/lang/Object;)Lorg/springframework/hateoas/EntityModel; (6)
                  (Ljava/lang/Object;)Lorg/springframework/hateoas/EntityModel;
            aload 2 /* selfLink */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.toModel:(Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 2 // org.springframework.hateoas.Link selfLink
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    1     1      page  Lorg/springframework/data/domain/Page<TT;>;
            0    1     2  selfLink  Lorg/springframework/hateoas/Link;
    Signature: (Lorg/springframework/data/domain/Page<TT;>;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel<Lorg/springframework/hateoas/EntityModel<TT;>;>;
    MethodParameters:
          Name  Flags
      page      
      selfLink  

  public <R extends org.springframework.hateoas.RepresentationModel<?>> org.springframework.hateoas.PagedModel<R> toModel(org.springframework.data.domain.Page<T>, org.springframework.hateoas.server.RepresentationModelAssembler<T, R>);
    descriptor: (Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // org.springframework.hateoas.server.RepresentationModelAssembler assembler
         0: .line 123
            aload 0 /* this */
            aload 1 /* page */
            aload 2 /* assembler */
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createModel:(Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 2 // org.springframework.hateoas.server.RepresentationModelAssembler assembler
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    1     1       page  Lorg/springframework/data/domain/Page<TT;>;
            0    1     2  assembler  Lorg/springframework/hateoas/server/RepresentationModelAssembler<TT;TR;>;
    Signature: <R:Lorg/springframework/hateoas/RepresentationModel<*>;>(Lorg/springframework/data/domain/Page<TT;>;Lorg/springframework/hateoas/server/RepresentationModelAssembler<TT;TR;>;)Lorg/springframework/hateoas/PagedModel<TR;>;
    MethodParameters:
           Name  Flags
      page       
      assembler  

  public <R extends org.springframework.hateoas.RepresentationModel<?>> org.springframework.hateoas.PagedModel<R> toModel(org.springframework.data.domain.Page<T>, org.springframework.hateoas.server.RepresentationModelAssembler<T, R>, org.springframework.hateoas.Link);
    descriptor: (Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // org.springframework.hateoas.server.RepresentationModelAssembler assembler
        start local 3 // org.springframework.hateoas.Link link
         0: .line 139
            aload 3 /* link */
            ldc "Link must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 141
            aload 0 /* this */
            aload 1 /* page */
            aload 2 /* assembler */
            aload 3 /* link */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createModel:(Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 3 // org.springframework.hateoas.Link link
        end local 2 // org.springframework.hateoas.server.RepresentationModelAssembler assembler
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    2     1       page  Lorg/springframework/data/domain/Page<TT;>;
            0    2     2  assembler  Lorg/springframework/hateoas/server/RepresentationModelAssembler<TT;TR;>;
            0    2     3       link  Lorg/springframework/hateoas/Link;
    Signature: <R:Lorg/springframework/hateoas/RepresentationModel<*>;>(Lorg/springframework/data/domain/Page<TT;>;Lorg/springframework/hateoas/server/RepresentationModelAssembler<TT;TR;>;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel<TR;>;
    MethodParameters:
           Name  Flags
      page       
      assembler  
      link       

  public org.springframework.hateoas.PagedModel<?> toEmptyModel(org.springframework.data.domain.Page<?>, java.lang.Class<?>);
    descriptor: (Lorg/springframework/data/domain/Page;Ljava/lang/Class;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // java.lang.Class type
         0: .line 153
            aload 0 /* this */
            aload 1 /* page */
            aload 2 /* type */
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.toEmptyModel:(Lorg/springframework/data/domain/Page;Ljava/lang/Class;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    1     1  page  Lorg/springframework/data/domain/Page<*>;
            0    1     2  type  Ljava/lang/Class<*>;
    Signature: (Lorg/springframework/data/domain/Page<*>;Ljava/lang/Class<*>;)Lorg/springframework/hateoas/PagedModel<*>;
    MethodParameters:
      Name  Flags
      page  
      type  

  public org.springframework.hateoas.PagedModel<?> toEmptyModel(org.springframework.data.domain.Page<?>, java.lang.Class<?>, org.springframework.hateoas.Link);
    descriptor: (Lorg/springframework/data/domain/Page;Ljava/lang/Class;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // java.lang.Class type
        start local 3 // org.springframework.hateoas.Link link
         0: .line 166
            aload 0 /* this */
            aload 1 /* page */
            aload 2 /* type */
            aload 3 /* link */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.toEmptyModel:(Lorg/springframework/data/domain/Page;Ljava/lang/Class;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 3 // org.springframework.hateoas.Link link
        end local 2 // java.lang.Class type
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    1     1  page  Lorg/springframework/data/domain/Page<*>;
            0    1     2  type  Ljava/lang/Class<*>;
            0    1     3  link  Lorg/springframework/hateoas/Link;
    Signature: (Lorg/springframework/data/domain/Page<*>;Ljava/lang/Class<*>;Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/PagedModel<*>;
    MethodParameters:
      Name  Flags
      page  
      type  
      link  

  private org.springframework.hateoas.PagedModel<?> toEmptyModel(org.springframework.data.domain.Page<?>, java.lang.Class<?>, java.util.Optional<org.springframework.hateoas.Link>);
    descriptor: (Lorg/springframework/data/domain/Page;Ljava/lang/Class;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // java.lang.Class type
        start local 3 // java.util.Optional link
         0: .line 171
            aload 1 /* page */
            ldc "Page must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 172
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.hasContent:()Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ldc "Page must not have any content!"
            invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
         4: .line 173
            aload 2 /* type */
            ldc "Type must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         5: .line 174
            aload 3 /* link */
            ldc "Link must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         6: .line 176
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.asPageMetadata:(Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel$PageMetadata;
            astore 4 /* metadata */
        start local 4 // org.springframework.hateoas.PagedModel$PageMetadata metadata
         7: .line 178
            aload 0 /* this */
            getfield org.springframework.data.web.PagedResourcesAssembler.wrappers:Lorg/springframework/hateoas/server/core/EmbeddedWrappers;
            aload 2 /* type */
            invokevirtual org.springframework.hateoas.server.core.EmbeddedWrappers.emptyCollectionOf:(Ljava/lang/Class;)Lorg/springframework/hateoas/server/core/EmbeddedWrapper;
            astore 5 /* wrapper */
        start local 5 // org.springframework.hateoas.server.core.EmbeddedWrapper wrapper
         8: .line 179
            aload 5 /* wrapper */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 6 /* embedded */
        start local 6 // java.util.List embedded
         9: .line 181
            aload 0 /* this */
            new org.springframework.hateoas.PagedModel
            dup
            aload 6 /* embedded */
            aload 4 /* metadata */
            iconst_0
            anewarray org.springframework.hateoas.Link
            invokespecial org.springframework.hateoas.PagedModel.<init>:(Ljava/util/Collection;Lorg/springframework/hateoas/PagedModel$PageMetadata;[Lorg/springframework/hateoas/Link;)V
            aload 1 /* page */
            aload 3 /* link */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.addPaginationLinks:(Lorg/springframework/hateoas/PagedModel;Lorg/springframework/data/domain/Page;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 6 // java.util.List embedded
        end local 5 // org.springframework.hateoas.server.core.EmbeddedWrapper wrapper
        end local 4 // org.springframework.hateoas.PagedModel$PageMetadata metadata
        end local 3 // java.util.Optional link
        end local 2 // java.lang.Class type
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0   10     1      page  Lorg/springframework/data/domain/Page<*>;
            0   10     2      type  Ljava/lang/Class<*>;
            0   10     3      link  Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;
            7   10     4  metadata  Lorg/springframework/hateoas/PagedModel$PageMetadata;
            8   10     5   wrapper  Lorg/springframework/hateoas/server/core/EmbeddedWrapper;
            9   10     6  embedded  Ljava/util/List<Lorg/springframework/hateoas/server/core/EmbeddedWrapper;>;
    Signature: (Lorg/springframework/data/domain/Page<*>;Ljava/lang/Class<*>;Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;)Lorg/springframework/hateoas/PagedModel<*>;
    MethodParameters:
      Name  Flags
      page  
      type  
      link  

  protected <R extends org.springframework.hateoas.RepresentationModel<?>, S> org.springframework.hateoas.PagedModel<R> createPagedModel(java.util.List<R>, org.springframework.hateoas.PagedModel$PageMetadata, org.springframework.data.domain.Page<S>);
    descriptor: (Ljava/util/List;Lorg/springframework/hateoas/PagedModel$PageMetadata;Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // java.util.List resources
        start local 2 // org.springframework.hateoas.PagedModel$PageMetadata metadata
        start local 3 // org.springframework.data.domain.Page page
         0: .line 195
            aload 1 /* resources */
            ldc "Content resources must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 196
            aload 2 /* metadata */
            ldc "PageMetadata must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 197
            aload 3 /* page */
            ldc "Page must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         3: .line 199
            new org.springframework.hateoas.PagedModel
            dup
            aload 1 /* resources */
            aload 2 /* metadata */
            iconst_0
            anewarray org.springframework.hateoas.Link
            invokespecial org.springframework.hateoas.PagedModel.<init>:(Ljava/util/Collection;Lorg/springframework/hateoas/PagedModel$PageMetadata;[Lorg/springframework/hateoas/Link;)V
            areturn
        end local 3 // org.springframework.data.domain.Page page
        end local 2 // org.springframework.hateoas.PagedModel$PageMetadata metadata
        end local 1 // java.util.List resources
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    4     1  resources  Ljava/util/List<TR;>;
            0    4     2   metadata  Lorg/springframework/hateoas/PagedModel$PageMetadata;
            0    4     3       page  Lorg/springframework/data/domain/Page<TS;>;
    Signature: <R:Lorg/springframework/hateoas/RepresentationModel<*>;S:Ljava/lang/Object;>(Ljava/util/List<TR;>;Lorg/springframework/hateoas/PagedModel$PageMetadata;Lorg/springframework/data/domain/Page<TS;>;)Lorg/springframework/hateoas/PagedModel<TR;>;
    MethodParameters:
           Name  Flags
      resources  
      metadata   
      page       

  private <S, R extends org.springframework.hateoas.RepresentationModel<?>> org.springframework.hateoas.PagedModel<R> createModel(org.springframework.data.domain.Page<S>, org.springframework.hateoas.server.RepresentationModelAssembler<S, R>, java.util.Optional<org.springframework.hateoas.Link>);
    descriptor: (Lorg/springframework/data/domain/Page;Lorg/springframework/hateoas/server/RepresentationModelAssembler;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
        start local 2 // org.springframework.hateoas.server.RepresentationModelAssembler assembler
        start local 3 // java.util.Optional link
         0: .line 205
            aload 1 /* page */
            ldc "Page must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 206
            aload 2 /* assembler */
            ldc "ResourceAssembler must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 208
            new java.util.ArrayList
            dup
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.getNumberOfElements:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* resources */
        start local 4 // java.util.List resources
         3: .line 210
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.springframework.data.web.PagedResourcesAssembler org.springframework.data.domain.Page org.springframework.hateoas.server.RepresentationModelAssembler java.util.Optional java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 5 /* element */
        start local 5 // java.lang.Object element
         5: .line 211
            aload 4 /* resources */
            aload 2 /* assembler */
            aload 5 /* element */
            invokeinterface org.springframework.hateoas.server.RepresentationModelAssembler.toModel:(Ljava/lang/Object;)Lorg/springframework/hateoas/RepresentationModel;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.lang.Object element
         6: .line 210
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 214
            aload 0 /* this */
            aload 4 /* resources */
            aload 0 /* this */
            aload 1 /* page */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.asPageMetadata:(Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel$PageMetadata;
            aload 1 /* page */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createPagedModel:(Ljava/util/List;Lorg/springframework/hateoas/PagedModel$PageMetadata;Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel;
            astore 5 /* resource */
        start local 5 // org.springframework.hateoas.PagedModel resource
         8: .line 216
            aload 0 /* this */
            aload 5 /* resource */
            aload 1 /* page */
            aload 3 /* link */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.addPaginationLinks:(Lorg/springframework/hateoas/PagedModel;Lorg/springframework/data/domain/Page;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
            areturn
        end local 5 // org.springframework.hateoas.PagedModel resource
        end local 4 // java.util.List resources
        end local 3 // java.util.Optional link
        end local 2 // org.springframework.hateoas.server.RepresentationModelAssembler assembler
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    9     1       page  Lorg/springframework/data/domain/Page<TS;>;
            0    9     2  assembler  Lorg/springframework/hateoas/server/RepresentationModelAssembler<TS;TR;>;
            0    9     3       link  Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;
            3    9     4  resources  Ljava/util/List<TR;>;
            5    6     5    element  TS;
            8    9     5   resource  Lorg/springframework/hateoas/PagedModel<TR;>;
    Signature: <S:Ljava/lang/Object;R:Lorg/springframework/hateoas/RepresentationModel<*>;>(Lorg/springframework/data/domain/Page<TS;>;Lorg/springframework/hateoas/server/RepresentationModelAssembler<TS;TR;>;Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;)Lorg/springframework/hateoas/PagedModel<TR;>;
    MethodParameters:
           Name  Flags
      page       
      assembler  
      link       

  private <R> org.springframework.hateoas.PagedModel<R> addPaginationLinks(org.springframework.hateoas.PagedModel<R>, org.springframework.data.domain.Page<?>, java.util.Optional<org.springframework.hateoas.Link>);
    descriptor: (Lorg/springframework/hateoas/PagedModel;Lorg/springframework/data/domain/Page;Ljava/util/Optional;)Lorg/springframework/hateoas/PagedModel;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.hateoas.PagedModel resources
        start local 2 // org.springframework.data.domain.Page page
        start local 3 // java.util.Optional link
         0: .line 221
            aload 0 /* this */
            aload 3 /* link */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.getUriTemplate:(Ljava/util/Optional;)Lorg/springframework/hateoas/UriTemplate;
            astore 4 /* base */
        start local 4 // org.springframework.hateoas.UriTemplate base
         1: .line 223
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.hasPrevious:()Z
            ifne 2
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.hasNext:()Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals: org.springframework.hateoas.UriTemplate
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 5 /* isNavigable */
        start local 5 // boolean isNavigable
         4: .line 225
            iload 5 /* isNavigable */
            ifne 5
            aload 0 /* this */
            getfield org.springframework.data.web.PagedResourcesAssembler.forceFirstAndLastRels:Z
            ifeq 6
         5: .line 226
      StackMap locals: int
      StackMap stack:
            aload 1 /* resources */
            aload 0 /* this */
            aload 4 /* base */
            iconst_0
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.getSize:()I
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.getSort:()Lorg/springframework/data/domain/Sort;
            invokestatic org.springframework.data.domain.PageRequest.of:(IILorg/springframework/data/domain/Sort;)Lorg/springframework/data/domain/PageRequest;
            getstatic org.springframework.hateoas.IanaLinkRelations.FIRST:Lorg/springframework/hateoas/LinkRelation;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createLink:(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Pageable;Lorg/springframework/hateoas/LinkRelation;)Lorg/springframework/hateoas/Link;
            invokevirtual org.springframework.hateoas.PagedModel.add:(Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/RepresentationModel;
            pop
         6: .line 229
      StackMap locals:
      StackMap stack:
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.hasPrevious:()Z
            ifeq 8
         7: .line 230
            aload 1 /* resources */
            aload 0 /* this */
            aload 4 /* base */
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.previousPageable:()Lorg/springframework/data/domain/Pageable;
            getstatic org.springframework.hateoas.IanaLinkRelations.PREV:Lorg/springframework/hateoas/LinkRelation;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createLink:(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Pageable;Lorg/springframework/hateoas/LinkRelation;)Lorg/springframework/hateoas/Link;
            invokevirtual org.springframework.hateoas.PagedModel.add:(Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/RepresentationModel;
            pop
         8: .line 233
      StackMap locals:
      StackMap stack:
            aload 3 /* link */
            invokedynamic apply()Ljava/util/function/Function;
              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;
                  org/springframework/data/web/PagedResourcesAssembler.lambda$2(Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/Link; (6)
                  (Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/Link;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         9: .line 234
            aload 0 /* this */
            aload 4 /* base */
            aload 2 /* page */
            invokedynamic get(Lorg/springframework/data/web/PagedResourcesAssembler;Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Page;)Ljava/util/function/Supplier;
              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;
                  org/springframework/data/web/PagedResourcesAssembler.lambda$3(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/Link; (7)
                  ()Lorg/springframework/hateoas/Link;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast org.springframework.hateoas.Link
        10: .line 233
            astore 6 /* selfLink */
        start local 6 // org.springframework.hateoas.Link selfLink
        11: .line 236
            aload 1 /* resources */
            aload 6 /* selfLink */
            invokevirtual org.springframework.hateoas.PagedModel.add:(Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/RepresentationModel;
            pop
        12: .line 238
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.hasNext:()Z
            ifeq 14
        13: .line 239
            aload 1 /* resources */
            aload 0 /* this */
            aload 4 /* base */
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.nextPageable:()Lorg/springframework/data/domain/Pageable;
            getstatic org.springframework.hateoas.IanaLinkRelations.NEXT:Lorg/springframework/hateoas/LinkRelation;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createLink:(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Pageable;Lorg/springframework/hateoas/LinkRelation;)Lorg/springframework/hateoas/Link;
            invokevirtual org.springframework.hateoas.PagedModel.add:(Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/RepresentationModel;
            pop
        14: .line 242
      StackMap locals: org.springframework.hateoas.Link
      StackMap stack:
            iload 5 /* isNavigable */
            ifne 15
            aload 0 /* this */
            getfield org.springframework.data.web.PagedResourcesAssembler.forceFirstAndLastRels:Z
            ifeq 20
        15: .line 244
      StackMap locals:
      StackMap stack:
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.getTotalPages:()I
            ifne 16
            iconst_0
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.getTotalPages:()I
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        17: istore 7 /* lastIndex */
        start local 7 // int lastIndex
        18: .line 246
            aload 1 /* resources */
        19: .line 247
            aload 0 /* this */
            aload 4 /* base */
            iload 7 /* lastIndex */
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.getSize:()I
            aload 2 /* page */
            invokeinterface org.springframework.data.domain.Page.getSort:()Lorg/springframework/data/domain/Sort;
            invokestatic org.springframework.data.domain.PageRequest.of:(IILorg/springframework/data/domain/Sort;)Lorg/springframework/data/domain/PageRequest;
            getstatic org.springframework.hateoas.IanaLinkRelations.LAST:Lorg/springframework/hateoas/LinkRelation;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createLink:(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Pageable;Lorg/springframework/hateoas/LinkRelation;)Lorg/springframework/hateoas/Link;
            invokevirtual org.springframework.hateoas.PagedModel.add:(Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/RepresentationModel;
            pop
        end local 7 // int lastIndex
        20: .line 250
      StackMap locals:
      StackMap stack:
            aload 1 /* resources */
            areturn
        end local 6 // org.springframework.hateoas.Link selfLink
        end local 5 // boolean isNavigable
        end local 4 // org.springframework.hateoas.UriTemplate base
        end local 3 // java.util.Optional link
        end local 2 // org.springframework.data.domain.Page page
        end local 1 // org.springframework.hateoas.PagedModel resources
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0   21     1    resources  Lorg/springframework/hateoas/PagedModel<TR;>;
            0   21     2         page  Lorg/springframework/data/domain/Page<*>;
            0   21     3         link  Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;
            1   21     4         base  Lorg/springframework/hateoas/UriTemplate;
            4   21     5  isNavigable  Z
           11   21     6     selfLink  Lorg/springframework/hateoas/Link;
           18   20     7    lastIndex  I
    Signature: <R:Ljava/lang/Object;>(Lorg/springframework/hateoas/PagedModel<TR;>;Lorg/springframework/data/domain/Page<*>;Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;)Lorg/springframework/hateoas/PagedModel<TR;>;
    MethodParameters:
           Name  Flags
      resources  
      page       
      link       

  private org.springframework.hateoas.UriTemplate getUriTemplate(java.util.Optional<org.springframework.hateoas.Link>);
    descriptor: (Ljava/util/Optional;)Lorg/springframework/hateoas/UriTemplate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // java.util.Optional baseLink
         0: .line 260
            aload 1 /* baseLink */
            invokedynamic apply()Ljava/util/function/Function;
              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;
                  org/springframework/hateoas/Link.getHref()Ljava/lang/String; (5)
                  (Lorg/springframework/hateoas/Link;)Ljava/lang/String;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic get(Lorg/springframework/data/web/PagedResourcesAssembler;)Ljava/util/function/Supplier;
              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;
                  org/springframework/data/web/PagedResourcesAssembler.baseUriOrCurrentRequest()Ljava/lang/String; (7)
                  ()Ljava/lang/String;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.springframework.hateoas.UriTemplate.of:(Ljava/lang/String;)Lorg/springframework/hateoas/UriTemplate;
            areturn
        end local 1 // java.util.Optional baseLink
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    1     1  baseLink  Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;
    Signature: (Ljava/util/Optional<Lorg/springframework/hateoas/Link;>;)Lorg/springframework/hateoas/UriTemplate;
    MethodParameters:
          Name  Flags
      baseLink  

  private org.springframework.hateoas.Link createLink(org.springframework.hateoas.UriTemplate, org.springframework.data.domain.Pageable, org.springframework.hateoas.LinkRelation);
    descriptor: (Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Pageable;Lorg/springframework/hateoas/LinkRelation;)Lorg/springframework/hateoas/Link;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.hateoas.UriTemplate base
        start local 2 // org.springframework.data.domain.Pageable pageable
        start local 3 // org.springframework.hateoas.LinkRelation relation
         0: .line 274
            aload 1 /* base */
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.springframework.hateoas.UriTemplate.expand:([Ljava/lang/Object;)Ljava/net/URI;
            invokestatic org.springframework.web.util.UriComponentsBuilder.fromUri:(Ljava/net/URI;)Lorg/springframework/web/util/UriComponentsBuilder;
            astore 4 /* builder */
        start local 4 // org.springframework.web.util.UriComponentsBuilder builder
         1: .line 275
            aload 0 /* this */
            getfield org.springframework.data.web.PagedResourcesAssembler.pageableResolver:Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
            aload 4 /* builder */
            aload 0 /* this */
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.getMethodParameter:()Lorg/springframework/core/MethodParameter;
            aload 2 /* pageable */
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.enhance:(Lorg/springframework/web/util/UriComponentsBuilder;Lorg/springframework/core/MethodParameter;Ljava/lang/Object;)V
         2: .line 277
            new org.springframework.hateoas.Link
            dup
            aload 4 /* builder */
            invokevirtual org.springframework.web.util.UriComponentsBuilder.build:()Lorg/springframework/web/util/UriComponents;
            invokevirtual org.springframework.web.util.UriComponents.toString:()Ljava/lang/String;
            invokestatic org.springframework.hateoas.UriTemplate.of:(Ljava/lang/String;)Lorg/springframework/hateoas/UriTemplate;
            aload 3 /* relation */
            invokespecial org.springframework.hateoas.Link.<init>:(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/hateoas/LinkRelation;)V
            areturn
        end local 4 // org.springframework.web.util.UriComponentsBuilder builder
        end local 3 // org.springframework.hateoas.LinkRelation relation
        end local 2 // org.springframework.data.domain.Pageable pageable
        end local 1 // org.springframework.hateoas.UriTemplate base
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    3     1      base  Lorg/springframework/hateoas/UriTemplate;
            0    3     2  pageable  Lorg/springframework/data/domain/Pageable;
            0    3     3  relation  Lorg/springframework/hateoas/LinkRelation;
            1    3     4   builder  Lorg/springframework/web/util/UriComponentsBuilder;
    MethodParameters:
          Name  Flags
      base      
      pageable  
      relation  

  protected org.springframework.core.MethodParameter getMethodParameter();
    descriptor: ()Lorg/springframework/core/MethodParameter;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
         0: .line 289
            aconst_null
            areturn
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.springframework.hateoas.PagedModel$PageMetadata asPageMetadata(org.springframework.data.domain.Page<?>);
    descriptor: (Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel$PageMetadata;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=3, args_size=2
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
        start local 1 // org.springframework.data.domain.Page page
         0: .line 300
            aload 1 /* page */
            ldc "Page must not be null!"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 302
            aload 0 /* this */
            getfield org.springframework.data.web.PagedResourcesAssembler.pageableResolver:Lorg/springframework/data/web/HateoasPageableHandlerMethodArgumentResolver;
            invokevirtual org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver.isOneIndexedParameters:()Z
            ifeq 2
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.getNumber:()I
            iconst_1
            iadd
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.getNumber:()I
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* number */
        start local 2 // int number
         4: .line 304
            new org.springframework.hateoas.PagedModel$PageMetadata
            dup
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.getSize:()I
            i2l
            iload 2 /* number */
            i2l
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.getTotalElements:()J
            aload 1 /* page */
            invokeinterface org.springframework.data.domain.Page.getTotalPages:()I
            i2l
            invokespecial org.springframework.hateoas.PagedModel$PageMetadata.<init>:(JJJJ)V
            areturn
        end local 2 // int number
        end local 1 // org.springframework.data.domain.Page page
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
            0    5     1    page  Lorg/springframework/data/domain/Page<*>;
            4    5     2  number  I
    Signature: (Lorg/springframework/data/domain/Page<*>;)Lorg/springframework/hateoas/PagedModel$PageMetadata;
    MethodParameters:
      Name  Flags
      page  

  private java.lang.String baseUriOrCurrentRequest();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
         0: .line 308
            aload 0 /* this */
            getfield org.springframework.data.web.PagedResourcesAssembler.baseUri:Ljava/util/Optional;
            invokedynamic apply()Ljava/util/function/Function;
              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;
                  java/lang/Object.toString()Ljava/lang/String; (5)
                  (Lorg/springframework/web/util/UriComponents;)Ljava/lang/String;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  org/springframework/data/web/PagedResourcesAssembler.currentRequest()Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;

  private static java.lang.String currentRequest();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 312
            invokestatic org.springframework.web.servlet.support.ServletUriComponentsBuilder.fromCurrentRequest:()Lorg/springframework/web/servlet/support/ServletUriComponentsBuilder;
            invokevirtual org.springframework.web.servlet.support.ServletUriComponentsBuilder.build:()Lorg/springframework/web/util/UriComponents;
            invokevirtual org.springframework.web.util.UriComponents.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.springframework.hateoas.RepresentationModel toModel(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/hateoas/RepresentationModel;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.springframework.data.domain.Page
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.toModel:(Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/PagedModel;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.springframework.hateoas.EntityModel lambda$0(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/hateoas/EntityModel;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Object it
         0: .line 97
            new org.springframework.hateoas.EntityModel
            dup
            aload 0 /* it */
            iconst_0
            anewarray org.springframework.hateoas.Link
            invokespecial org.springframework.hateoas.EntityModel.<init>:(Ljava/lang/Object;[Lorg/springframework/hateoas/Link;)V
            areturn
        end local 0 // java.lang.Object it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    it  TT;

  private static org.springframework.hateoas.EntityModel lambda$1(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/springframework/hateoas/EntityModel;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.Object it
         0: .line 110
            new org.springframework.hateoas.EntityModel
            dup
            aload 0 /* it */
            iconst_0
            anewarray org.springframework.hateoas.Link
            invokespecial org.springframework.hateoas.EntityModel.<init>:(Ljava/lang/Object;[Lorg/springframework/hateoas/Link;)V
            areturn
        end local 0 // java.lang.Object it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    it  TT;

  private static org.springframework.hateoas.Link lambda$2(org.springframework.hateoas.Link);
    descriptor: (Lorg/springframework/hateoas/Link;)Lorg/springframework/hateoas/Link;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.hateoas.Link it
         0: .line 233
            aload 0 /* it */
            invokevirtual org.springframework.hateoas.Link.withSelfRel:()Lorg/springframework/hateoas/Link;
            areturn
        end local 0 // org.springframework.hateoas.Link it
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    it  Lorg/springframework/hateoas/Link;

  private org.springframework.hateoas.Link lambda$3(org.springframework.hateoas.UriTemplate, org.springframework.data.domain.Page);
    descriptor: (Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Page;)Lorg/springframework/hateoas/Link;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.data.web.PagedResourcesAssembler this
         0: .line 234
            aload 0 /* this */
            aload 1
            aload 2
            invokeinterface org.springframework.data.domain.Page.getPageable:()Lorg/springframework/data/domain/Pageable;
            getstatic org.springframework.hateoas.IanaLinkRelations.SELF:Lorg/springframework/hateoas/LinkRelation;
            invokevirtual org.springframework.data.web.PagedResourcesAssembler.createLink:(Lorg/springframework/hateoas/UriTemplate;Lorg/springframework/data/domain/Pageable;Lorg/springframework/hateoas/LinkRelation;)Lorg/springframework/hateoas/Link;
            areturn
        end local 0 // org.springframework.data.web.PagedResourcesAssembler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/data/web/PagedResourcesAssembler<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lorg/springframework/hateoas/server/RepresentationModelAssembler<Lorg/springframework/data/domain/Page<TT;>;Lorg/springframework/hateoas/PagedModel<Lorg/springframework/hateoas/EntityModel<TT;>;>;>;
SourceFile: "PagedResourcesAssembler.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public PageMetadata = org.springframework.hateoas.PagedModel$PageMetadata of org.springframework.hateoas.PagedModel