public abstract class io.micronaut.http.hateoas.AbstractResource<Impl extends io.micronaut.http.hateoas.AbstractResource> implements io.micronaut.http.hateoas.Resource
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.micronaut.http.hateoas.AbstractResource
  super_class: java.lang.Object
{
  private final java.util.Map<java.lang.CharSequence, java.util.List<io.micronaut.http.hateoas.Link>> linkMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Lio/micronaut/http/hateoas/Link;>;>;

  private final java.util.Map<java.lang.CharSequence, java.util.List<io.micronaut.http.hateoas.Resource>> embeddedMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/CharSequence;Ljava/util/List<Lio/micronaut/http/hateoas/Resource;>;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            iconst_1
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            putfield io.micronaut.http.hateoas.AbstractResource.linkMap:Ljava/util/Map;
         2: .line 47
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            iconst_1
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            putfield io.micronaut.http.hateoas.AbstractResource.embeddedMap:Ljava/util/Map;
         3: .line 44
            return
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;

  public Impl link(java.lang.CharSequence, io.micronaut.http.hateoas.Link);
    descriptor: (Ljava/lang/CharSequence;Lio/micronaut/http/hateoas/Link;)Lio/micronaut/http/hateoas/AbstractResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.lang.CharSequence ref
        start local 2 // io.micronaut.http.hateoas.Link link
         0: .line 57
            aload 1 /* ref */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 3
            aload 2 /* link */
            ifnull 3
         1: .line 58
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.linkMap:Ljava/util/Map;
            aload 1 /* ref */
            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;
                  io/micronaut/http/hateoas/AbstractResource.lambda$0(Ljava/lang/CharSequence;)Ljava/util/List; (6)
                  (Ljava/lang/CharSequence;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* links */
        start local 3 // java.util.List links
         2: .line 59
            aload 3 /* links */
            aload 2 /* link */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.List links
         3: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // io.micronaut.http.hateoas.Link link
        end local 1 // java.lang.CharSequence ref
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    4     1    ref  Ljava/lang/CharSequence;
            0    4     2   link  Lio/micronaut/http/hateoas/Link;
            2    3     3  links  Ljava/util/List<Lio/micronaut/http/hateoas/Link;>;
    Signature: (Ljava/lang/CharSequence;Lio/micronaut/http/hateoas/Link;)TImpl;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
      Name  Flags
      ref   
      link  

  public Impl link(java.lang.CharSequence, java.lang.String);
    descriptor: (Ljava/lang/CharSequence;Ljava/lang/String;)Lio/micronaut/http/hateoas/AbstractResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.lang.CharSequence ref
        start local 2 // java.lang.String link
         0: .line 72
            aload 1 /* ref */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 3
            aload 2 /* link */
            ifnull 3
         1: .line 73
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.linkMap:Ljava/util/Map;
            aload 1 /* ref */
            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;
                  io/micronaut/http/hateoas/AbstractResource.lambda$1(Ljava/lang/CharSequence;)Ljava/util/List; (6)
                  (Ljava/lang/CharSequence;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* links */
        start local 3 // java.util.List links
         2: .line 74
            aload 3 /* links */
            aload 2 /* link */
            invokestatic io.micronaut.http.hateoas.Link.of:(Ljava/lang/String;)Lio/micronaut/http/hateoas/Link;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.List links
         3: .line 76
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // java.lang.String link
        end local 1 // java.lang.CharSequence ref
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    4     1    ref  Ljava/lang/CharSequence;
            0    4     2   link  Ljava/lang/String;
            2    3     3  links  Ljava/util/List<Lio/micronaut/http/hateoas/Link;>;
    Signature: (Ljava/lang/CharSequence;Ljava/lang/String;)TImpl;
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.Nullable()
      1:
        edu.umd.cs.findbugs.annotations.Nullable()
    MethodParameters:
      Name  Flags
      ref   
      link  

  public Impl embedded(java.lang.CharSequence, io.micronaut.http.hateoas.Resource);
    descriptor: (Ljava/lang/CharSequence;Lio/micronaut/http/hateoas/Resource;)Lio/micronaut/http/hateoas/AbstractResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.lang.CharSequence ref
        start local 2 // io.micronaut.http.hateoas.Resource resource
         0: .line 87
            aload 1 /* ref */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 3
            aload 2 /* resource */
            ifnull 3
         1: .line 88
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.embeddedMap:Ljava/util/Map;
            aload 1 /* ref */
            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;
                  io/micronaut/http/hateoas/AbstractResource.lambda$2(Ljava/lang/CharSequence;)Ljava/util/List; (6)
                  (Ljava/lang/CharSequence;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* resources */
        start local 3 // java.util.List resources
         2: .line 89
            aload 3 /* resources */
            aload 2 /* resource */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.List resources
         3: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // io.micronaut.http.hateoas.Resource resource
        end local 1 // java.lang.CharSequence ref
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    4     1        ref  Ljava/lang/CharSequence;
            0    4     2   resource  Lio/micronaut/http/hateoas/Resource;
            2    3     3  resources  Ljava/util/List<Lio/micronaut/http/hateoas/Resource;>;
    Signature: (Ljava/lang/CharSequence;Lio/micronaut/http/hateoas/Resource;)TImpl;
    MethodParameters:
          Name  Flags
      ref       
      resource  

  public Impl embedded(java.lang.CharSequence, io.micronaut.http.hateoas.Resource[]);
    descriptor: (Ljava/lang/CharSequence;[Lio/micronaut/http/hateoas/Resource;)Lio/micronaut/http/hateoas/AbstractResource;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.lang.CharSequence ref
        start local 2 // io.micronaut.http.hateoas.Resource[] resource
         0: .line 102
            aload 1 /* ref */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 3
            aload 2 /* resource */
            ifnull 3
         1: .line 103
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.embeddedMap:Ljava/util/Map;
            aload 1 /* ref */
            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;
                  io/micronaut/http/hateoas/AbstractResource.lambda$3(Ljava/lang/CharSequence;)Ljava/util/List; (6)
                  (Ljava/lang/CharSequence;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* resources */
        start local 3 // java.util.List resources
         2: .line 104
            aload 3 /* resources */
            aload 2 /* resource */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // java.util.List resources
         3: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // io.micronaut.http.hateoas.Resource[] resource
        end local 1 // java.lang.CharSequence ref
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    4     1        ref  Ljava/lang/CharSequence;
            0    4     2   resource  [Lio/micronaut/http/hateoas/Resource;
            2    3     3  resources  Ljava/util/List<Lio/micronaut/http/hateoas/Resource;>;
    Signature: (Ljava/lang/CharSequence;[Lio/micronaut/http/hateoas/Resource;)TImpl;
    MethodParameters:
          Name  Flags
      ref       
      resource  

  public Impl embedded(java.lang.CharSequence, java.util.List<io.micronaut.http.hateoas.Resource>);
    descriptor: (Ljava/lang/CharSequence;Ljava/util/List;)Lio/micronaut/http/hateoas/AbstractResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.lang.CharSequence ref
        start local 2 // java.util.List resourceList
         0: .line 117
            aload 1 /* ref */
            invokestatic io.micronaut.core.util.StringUtils.isNotEmpty:(Ljava/lang/CharSequence;)Z
            ifeq 3
            aload 2 /* resourceList */
            ifnull 3
         1: .line 118
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.embeddedMap:Ljava/util/Map;
            aload 1 /* ref */
            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;
                  io/micronaut/http/hateoas/AbstractResource.lambda$4(Ljava/lang/CharSequence;)Ljava/util/List; (6)
                  (Ljava/lang/CharSequence;)Ljava/util/List;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* resources */
        start local 3 // java.util.List resources
         2: .line 119
            aload 3 /* resources */
            aload 2 /* resourceList */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // java.util.List resources
         3: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // java.util.List resourceList
        end local 1 // java.lang.CharSequence ref
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    4     1           ref  Ljava/lang/CharSequence;
            0    4     2  resourceList  Ljava/util/List<Lio/micronaut/http/hateoas/Resource;>;
            2    3     3     resources  Ljava/util/List<Lio/micronaut/http/hateoas/Resource;>;
    Signature: (Ljava/lang/CharSequence;Ljava/util/List<Lio/micronaut/http/hateoas/Resource;>;)TImpl;
    MethodParameters:
              Name  Flags
      ref           
      resourceList  

  public io.micronaut.core.value.OptionalMultiValues<io.micronaut.http.hateoas.Link> getLinks();
    descriptor: ()Lio/micronaut/core/value/OptionalMultiValues;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
         0: .line 126
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.linkMap:Ljava/util/Map;
            invokestatic io.micronaut.core.value.OptionalMultiValues.of:(Ljava/util/Map;)Lio/micronaut/core/value/OptionalMultiValues;
            areturn
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
    Signature: ()Lio/micronaut/core/value/OptionalMultiValues<Lio/micronaut/http/hateoas/Link;>;

  public io.micronaut.core.value.OptionalMultiValues<io.micronaut.http.hateoas.Resource> getEmbedded();
    descriptor: ()Lio/micronaut/core/value/OptionalMultiValues;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
         0: .line 131
            aload 0 /* this */
            getfield io.micronaut.http.hateoas.AbstractResource.embeddedMap:Ljava/util/Map;
            invokestatic io.micronaut.core.value.OptionalMultiValues.of:(Ljava/util/Map;)Lio/micronaut/core/value/OptionalMultiValues;
            areturn
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
    Signature: ()Lio/micronaut/core/value/OptionalMultiValues<Lio/micronaut/http/hateoas/Resource;>;

  protected final void setLinks(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.util.Map links
         0: .line 143
            aload 1 /* links */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: io.micronaut.http.hateoas.AbstractResource java.util.Map top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* entry */
        start local 2 // java.util.Map$Entry entry
         2: .line 144
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* name */
        start local 4 // java.lang.String name
         3: .line 145
            aload 2 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
         4: .line 146
            aload 5 /* value */
            instanceof java.util.Map
            ifeq 7
         5: .line 147
            aload 5 /* value */
            checkcast java.util.Map
            astore 6 /* linkMap */
        start local 6 // java.util.Map linkMap
         6: .line 148
            aload 0 /* this */
            aload 4 /* name */
            aload 6 /* linkMap */
            invokevirtual io.micronaut.http.hateoas.AbstractResource.link:(Ljava/lang/String;Ljava/util/Map;)V
        end local 6 // java.util.Map linkMap
        end local 5 // java.lang.Object value
        end local 4 // java.lang.String name
        end local 2 // java.util.Map$Entry entry
         7: .line 143
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 151
            return
        end local 1 // java.util.Map links
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    9     1    links  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2    7     2    entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
            3    7     4     name  Ljava/lang/String;
            4    7     5    value  Ljava/lang/Object;
            6    7     6  linkMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    RuntimeVisibleAnnotations: 
      io.micronaut.core.annotation.Internal()
      io.micronaut.core.annotation.ReflectiveAccess()
    MethodParameters:
       Name  Flags
      links  

  private void link(java.lang.String, java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/lang/String;Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 1 // java.lang.String name
        start local 2 // java.util.Map linkMap
         0: .line 154
            aload 2 /* linkMap */
            invokestatic io.micronaut.core.convert.value.ConvertibleValues.of:(Ljava/util/Map;)Lio/micronaut/core/convert/value/ConvertibleValues;
            astore 3 /* values */
        start local 3 // io.micronaut.core.convert.value.ConvertibleValues values
         1: .line 155
            aload 3 /* values */
            getstatic io.micronaut.http.hateoas.Link.HREF:Ljava/lang/CharSequence;
            ldc Ljava/lang/String;
            invokeinterface io.micronaut.core.convert.value.ConvertibleValues.get:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
            astore 4 /* uri */
        start local 4 // java.util.Optional uri
         2: .line 156
            aload 4 /* uri */
            aload 0 /* this */
            aload 3 /* values */
            aload 1 /* name */
            invokedynamic accept(Lio/micronaut/http/hateoas/AbstractResource;Lio/micronaut/core/convert/value/ConvertibleValues;Ljava/lang/String;)Ljava/util/function/Consumer;
              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;)V
                  io/micronaut/http/hateoas/AbstractResource.lambda$5(Lio/micronaut/core/convert/value/ConvertibleValues;Ljava/lang/String;Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
         3: .line 170
            return
        end local 4 // java.util.Optional uri
        end local 3 // io.micronaut.core.convert.value.ConvertibleValues values
        end local 2 // java.util.Map linkMap
        end local 1 // java.lang.String name
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0    4     1     name  Ljava/lang/String;
            0    4     2  linkMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            1    4     3   values  Lio/micronaut/core/convert/value/ConvertibleValues<Ljava/lang/Object;>;
            2    4     4      uri  Ljava/util/Optional<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
    MethodParameters:
         Name  Flags
      name     
      linkMap  

  private static java.util.List lambda$0(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 58
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  charSequence  Ljava/lang/CharSequence;

  private static java.util.List lambda$1(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 73
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  charSequence  Ljava/lang/CharSequence;

  private static java.util.List lambda$2(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 88
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  charSequence  Ljava/lang/CharSequence;

  private static java.util.List lambda$3(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 103
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  charSequence  Ljava/lang/CharSequence;

  private static java.util.List lambda$4(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.CharSequence charSequence
         0: .line 118
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
        end local 0 // java.lang.CharSequence charSequence
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  charSequence  Ljava/lang/CharSequence;

  private void lambda$5(io.micronaut.core.convert.value.ConvertibleValues, java.lang.String, java.lang.String);
    descriptor: (Lio/micronaut/core/convert/value/ConvertibleValues;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // io.micronaut.http.hateoas.AbstractResource this
        start local 3 // java.lang.String uri1
         0: .line 157
            aload 3 /* uri1 */
            invokestatic io.micronaut.http.hateoas.Link.build:(Ljava/lang/String;)Lio/micronaut/http/hateoas/Link$Builder;
            astore 4 /* link */
        start local 4 // io.micronaut.http.hateoas.Link$Builder link
         1: .line 158
            aload 1
            ldc "templated"
            ldc Ljava/lang/Boolean;
            invokeinterface io.micronaut.core.convert.value.ConvertibleValues.get:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
         2: .line 159
            aload 4 /* link */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/micronaut/http/hateoas/Link$Builder;)Ljava/util/function/Consumer;
              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;)V
                  io/micronaut/http/hateoas/Link$Builder.templated(Z)Lio/micronaut/http/hateoas/Link$Builder; (9 itf)
                  (Ljava/lang/Boolean;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
         3: .line 160
            aload 1
            ldc "hreflang"
            ldc Ljava/lang/String;
            invokeinterface io.micronaut.core.convert.value.ConvertibleValues.get:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
         4: .line 161
            aload 4 /* link */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/micronaut/http/hateoas/Link$Builder;)Ljava/util/function/Consumer;
              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;)V
                  io/micronaut/http/hateoas/Link$Builder.hreflang(Ljava/lang/String;)Lio/micronaut/http/hateoas/Link$Builder; (9 itf)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
         5: .line 162
            aload 1
            ldc "title"
            ldc Ljava/lang/String;
            invokeinterface io.micronaut.core.convert.value.ConvertibleValues.get:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
         6: .line 163
            aload 4 /* link */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/micronaut/http/hateoas/Link$Builder;)Ljava/util/function/Consumer;
              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;)V
                  io/micronaut/http/hateoas/Link$Builder.title(Ljava/lang/String;)Lio/micronaut/http/hateoas/Link$Builder; (9 itf)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
         7: .line 164
            aload 1
            ldc "profile"
            ldc Ljava/lang/String;
            invokeinterface io.micronaut.core.convert.value.ConvertibleValues.get:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
         8: .line 165
            aload 4 /* link */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/micronaut/http/hateoas/Link$Builder;)Ljava/util/function/Consumer;
              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;)V
                  io/micronaut/http/hateoas/Link$Builder.profile(Ljava/lang/String;)Lio/micronaut/http/hateoas/Link$Builder; (9 itf)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
         9: .line 166
            aload 1
            ldc "deprecation"
            ldc Ljava/lang/String;
            invokeinterface io.micronaut.core.convert.value.ConvertibleValues.get:(Ljava/lang/CharSequence;Ljava/lang/Class;)Ljava/util/Optional;
        10: .line 167
            aload 4 /* link */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/micronaut/http/hateoas/Link$Builder;)Ljava/util/function/Consumer;
              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;)V
                  io/micronaut/http/hateoas/Link$Builder.deprecation(Ljava/lang/String;)Lio/micronaut/http/hateoas/Link$Builder; (9 itf)
                  (Ljava/lang/String;)V
            invokevirtual java.util.Optional.ifPresent:(Ljava/util/function/Consumer;)V
        11: .line 168
            aload 0 /* this */
            aload 2
            aload 4 /* link */
            invokeinterface io.micronaut.http.hateoas.Link$Builder.build:()Lio/micronaut/http/hateoas/Link;
            invokevirtual io.micronaut.http.hateoas.AbstractResource.link:(Ljava/lang/CharSequence;Lio/micronaut/http/hateoas/Link;)Lio/micronaut/http/hateoas/AbstractResource;
            pop
        end local 4 // io.micronaut.http.hateoas.Link$Builder link
        12: .line 169
            return
        end local 3 // java.lang.String uri1
        end local 0 // io.micronaut.http.hateoas.AbstractResource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lio/micronaut/http/hateoas/AbstractResource<TImpl;>;
            0   13     3  uri1  Ljava/lang/String;
            1   12     4  link  Lio/micronaut/http/hateoas/Link$Builder;
}
Signature: <Impl:Lio/micronaut/http/hateoas/AbstractResource;>Ljava/lang/Object;Lio/micronaut/http/hateoas/Resource;
SourceFile: "AbstractResource.java"
InnerClasses:
  public abstract Builder = io.micronaut.http.hateoas.Link$Builder of io.micronaut.http.hateoas.Link
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      io.micronaut.http.annotation.Produces(value = {"application/hal+json"})
      io.micronaut.core.annotation.Introspected()