class org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean
  super_class: java.lang.Object
{
  private final java.lang.String beanName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?> beanType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.util.function.Supplier<java.lang.Object> beanSupplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Ljava/lang/Object;>;

  private final org.springframework.boot.actuate.endpoint.EndpointId endpointId;
    descriptor: Lorg/springframework/boot/actuate/endpoint/EndpointId;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<?> filter;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  void <init>(org.springframework.core.env.Environment, java.lang.String, java.lang.Class<?>, java.util.function.Supplier<java.lang.Object>);
    descriptor: (Lorg/springframework/core/env/Environment;Ljava/lang/String;Ljava/lang/Class;Ljava/util/function/Supplier;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
        start local 1 // org.springframework.core.env.Environment environment
        start local 2 // java.lang.String beanName
        start local 3 // java.lang.Class beanType
        start local 4 // java.util.function.Supplier beanSupplier
         0: .line 479
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 480
            aload 0 /* this */
            aload 2 /* beanName */
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.beanName:Ljava/lang/String;
         2: .line 481
            aload 0 /* this */
            aload 3 /* beanType */
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.beanType:Ljava/lang/Class;
         3: .line 482
            aload 0 /* this */
            aload 4 /* beanSupplier */
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.beanSupplier:Ljava/util/function/Supplier;
         4: .line 484
            aload 3 /* beanType */
            getstatic org.springframework.core.annotation.MergedAnnotations$SearchStrategy.TYPE_HIERARCHY:Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;
            invokestatic org.springframework.core.annotation.MergedAnnotations.from:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;)Lorg/springframework/core/annotation/MergedAnnotations;
            ldc Lorg/springframework/boot/actuate/endpoint/annotation/EndpointExtension;
            invokeinterface org.springframework.core.annotation.MergedAnnotations.get:(Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
         5: .line 483
            astore 5 /* extensionAnnotation */
        start local 5 // org.springframework.core.annotation.MergedAnnotation extensionAnnotation
         6: .line 485
            aload 5 /* extensionAnnotation */
            ldc "endpoint"
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* endpointType */
        start local 6 // java.lang.Class endpointType
         7: .line 487
            aload 6 /* endpointType */
            getstatic org.springframework.core.annotation.MergedAnnotations$SearchStrategy.TYPE_HIERARCHY:Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;
            invokestatic org.springframework.core.annotation.MergedAnnotations.from:(Ljava/lang/reflect/AnnotatedElement;Lorg/springframework/core/annotation/MergedAnnotations$SearchStrategy;)Lorg/springframework/core/annotation/MergedAnnotations;
            ldc Lorg/springframework/boot/actuate/endpoint/annotation/Endpoint;
            invokeinterface org.springframework.core.annotation.MergedAnnotations.get:(Ljava/lang/Class;)Lorg/springframework/core/annotation/MergedAnnotation;
         8: .line 486
            astore 7 /* endpointAnnotation */
        start local 7 // org.springframework.core.annotation.MergedAnnotation endpointAnnotation
         9: .line 488
            aload 7 /* endpointAnnotation */
            invokeinterface org.springframework.core.annotation.MergedAnnotation.isPresent:()Z
        10: .line 489
            aload 6 /* endpointType */
            invokedynamic get(Ljava/lang/Class;)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/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean.lambda$0(Ljava/lang/Class;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
        11: .line 488
            invokestatic org.springframework.util.Assert.state:(ZLjava/util/function/Supplier;)V
        12: .line 490
            aload 0 /* this */
            aload 1 /* environment */
            aload 7 /* endpointAnnotation */
            ldc "id"
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.springframework.boot.actuate.endpoint.EndpointId.of:(Lorg/springframework/core/env/Environment;Ljava/lang/String;)Lorg/springframework/boot/actuate/endpoint/EndpointId;
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.endpointId:Lorg/springframework/boot/actuate/endpoint/EndpointId;
        13: .line 491
            aload 0 /* this */
            aload 5 /* extensionAnnotation */
            ldc "filter"
            invokeinterface org.springframework.core.annotation.MergedAnnotation.getClass:(Ljava/lang/String;)Ljava/lang/Class;
            putfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.filter:Ljava/lang/Class;
        14: .line 492
            return
        end local 7 // org.springframework.core.annotation.MergedAnnotation endpointAnnotation
        end local 6 // java.lang.Class endpointType
        end local 5 // org.springframework.core.annotation.MergedAnnotation extensionAnnotation
        end local 4 // java.util.function.Supplier beanSupplier
        end local 3 // java.lang.Class beanType
        end local 2 // java.lang.String beanName
        end local 1 // org.springframework.core.env.Environment environment
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;
            0   15     1          environment  Lorg/springframework/core/env/Environment;
            0   15     2             beanName  Ljava/lang/String;
            0   15     3             beanType  Ljava/lang/Class<*>;
            0   15     4         beanSupplier  Ljava/util/function/Supplier<Ljava/lang/Object;>;
            6   15     5  extensionAnnotation  Lorg/springframework/core/annotation/MergedAnnotation<Lorg/springframework/boot/actuate/endpoint/annotation/EndpointExtension;>;
            7   15     6         endpointType  Ljava/lang/Class<*>;
            9   15     7   endpointAnnotation  Lorg/springframework/core/annotation/MergedAnnotation<Lorg/springframework/boot/actuate/endpoint/annotation/Endpoint;>;
    Signature: (Lorg/springframework/core/env/Environment;Ljava/lang/String;Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/Object;>;)V
    MethodParameters:
              Name  Flags
      environment   
      beanName      
      beanType      
      beanSupplier  

  java.lang.String getBeanName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
         0: .line 495
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.beanName:Ljava/lang/String;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;

  java.lang.Class<?> getBeanType();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
         0: .line 499
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.beanType:Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;
    Signature: ()Ljava/lang/Class<*>;

  java.lang.Object getBean();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
         0: .line 503
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.beanSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;

  org.springframework.boot.actuate.endpoint.EndpointId getEndpointId();
    descriptor: ()Lorg/springframework/boot/actuate/endpoint/EndpointId;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
         0: .line 507
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.endpointId:Lorg/springframework/boot/actuate/endpoint/EndpointId;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;

  java.lang.Class<?> getFilter();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
         0: .line 511
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean.filter:Ljava/lang/Class;
            areturn
        end local 0 // org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$ExtensionBean;
    Signature: ()Ljava/lang/Class<*>;

  private static java.lang.String lambda$0(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 489
            new java.lang.StringBuilder
            dup
            ldc "Extension "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not specify an endpoint"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "EndpointDiscoverer.java"
NestHost: org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private ExtensionBean = org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$ExtensionBean of org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
  public final SearchStrategy = org.springframework.core.annotation.MergedAnnotations$SearchStrategy of org.springframework.core.annotation.MergedAnnotations