public class org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer extends org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer<org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint, org.springframework.boot.actuate.endpoint.Operation> implements org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer
  super_class: org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
{
  private final java.util.List<org.springframework.boot.actuate.endpoint.web.PathMapper> endpointPathMappers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/springframework/boot/actuate/endpoint/web/PathMapper;>;

  public void <init>(org.springframework.context.ApplicationContext, java.util.List<org.springframework.boot.actuate.endpoint.web.PathMapper>, java.util.Collection<org.springframework.boot.actuate.endpoint.EndpointFilter<org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint>>);
    descriptor: (Lorg/springframework/context/ApplicationContext;Ljava/util/List;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
        start local 1 // org.springframework.context.ApplicationContext applicationContext
        start local 2 // java.util.List endpointPathMappers
        start local 3 // java.util.Collection filters
         0: .line 55
            aload 0 /* this */
            aload 1 /* applicationContext */
            getstatic org.springframework.boot.actuate.endpoint.invoke.ParameterValueMapper.NONE:Lorg/springframework/boot/actuate/endpoint/invoke/ParameterValueMapper;
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            aload 3 /* filters */
            invokespecial org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer.<init>:(Lorg/springframework/context/ApplicationContext;Lorg/springframework/boot/actuate/endpoint/invoke/ParameterValueMapper;Ljava/util/Collection;Ljava/util/Collection;)V
         1: .line 56
            aload 0 /* this */
            aload 2 /* endpointPathMappers */
            putfield org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer.endpointPathMappers:Ljava/util/List;
         2: .line 57
            return
        end local 3 // java.util.Collection filters
        end local 2 // java.util.List endpointPathMappers
        end local 1 // org.springframework.context.ApplicationContext applicationContext
        end local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscoverer;
            0    3     1   applicationContext  Lorg/springframework/context/ApplicationContext;
            0    3     2  endpointPathMappers  Ljava/util/List<Lorg/springframework/boot/actuate/endpoint/web/PathMapper;>;
            0    3     3              filters  Ljava/util/Collection<Lorg/springframework/boot/actuate/endpoint/EndpointFilter<Lorg/springframework/boot/actuate/endpoint/web/annotation/ExposableControllerEndpoint;>;>;
    Signature: (Lorg/springframework/context/ApplicationContext;Ljava/util/List<Lorg/springframework/boot/actuate/endpoint/web/PathMapper;>;Ljava/util/Collection<Lorg/springframework/boot/actuate/endpoint/EndpointFilter<Lorg/springframework/boot/actuate/endpoint/web/annotation/ExposableControllerEndpoint;>;>;)V
    MethodParameters:
                     Name  Flags
      applicationContext   
      endpointPathMappers  
      filters              

  protected boolean isEndpointTypeExposed(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
        start local 1 // java.lang.Class beanType
         0: .line 61
            aload 1 /* beanType */
            getstatic org.springframework.core.annotation.MergedAnnotations$SearchStrategy.SUPERCLASS: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;
            astore 2 /* annotations */
        start local 2 // org.springframework.core.annotation.MergedAnnotations annotations
         1: .line 62
            aload 2 /* annotations */
            ldc Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpoint;
            invokeinterface org.springframework.core.annotation.MergedAnnotations.isPresent:(Ljava/lang/Class;)Z
            ifne 2
            aload 2 /* annotations */
            ldc Lorg/springframework/boot/actuate/endpoint/web/annotation/RestControllerEndpoint;
            invokeinterface org.springframework.core.annotation.MergedAnnotations.isPresent:(Ljava/lang/Class;)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: org.springframework.core.annotation.MergedAnnotations
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // org.springframework.core.annotation.MergedAnnotations annotations
        end local 1 // java.lang.Class beanType
        end local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscoverer;
            0    3     1     beanType  Ljava/lang/Class<*>;
            1    3     2  annotations  Lorg/springframework/core/annotation/MergedAnnotations;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
          Name  Flags
      beanType  

  protected org.springframework.boot.actuate.endpoint.web.annotation.ExposableControllerEndpoint createEndpoint(, org.springframework.boot.actuate.endpoint.EndpointId, boolean, java.util.Collection<org.springframework.boot.actuate.endpoint.Operation>);
    descriptor: (Ljava/lang/Object;Lorg/springframework/boot/actuate/endpoint/EndpointId;ZLjava/util/Collection;)Lorg/springframework/boot/actuate/endpoint/web/annotation/ExposableControllerEndpoint;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
        start local 1 // java.lang.Object endpointBean
        start local 2 // org.springframework.boot.actuate.endpoint.EndpointId id
        start local 3 // boolean enabledByDefault
        start local 4 // java.util.Collection operations
         0: .line 68
            aload 0 /* this */
            getfield org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer.endpointPathMappers:Ljava/util/List;
            aload 2 /* id */
            invokestatic org.springframework.boot.actuate.endpoint.web.PathMapper.getRootPath:(Ljava/util/List;Lorg/springframework/boot/actuate/endpoint/EndpointId;)Ljava/lang/String;
            astore 5 /* rootPath */
        start local 5 // java.lang.String rootPath
         1: .line 69
            new org.springframework.boot.actuate.endpoint.web.annotation.DiscoveredControllerEndpoint
            dup
            aload 0 /* this */
            aload 1 /* endpointBean */
            aload 2 /* id */
            aload 5 /* rootPath */
            iload 3 /* enabledByDefault */
            invokespecial org.springframework.boot.actuate.endpoint.web.annotation.DiscoveredControllerEndpoint.<init>:(Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer;Ljava/lang/Object;Lorg/springframework/boot/actuate/endpoint/EndpointId;Ljava/lang/String;Z)V
            areturn
        end local 5 // java.lang.String rootPath
        end local 4 // java.util.Collection operations
        end local 3 // boolean enabledByDefault
        end local 2 // org.springframework.boot.actuate.endpoint.EndpointId id
        end local 1 // java.lang.Object endpointBean
        end local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscoverer;
            0    2     1      endpointBean  Ljava/lang/Object;
            0    2     2                id  Lorg/springframework/boot/actuate/endpoint/EndpointId;
            0    2     3  enabledByDefault  Z
            0    2     4        operations  Ljava/util/Collection<Lorg/springframework/boot/actuate/endpoint/Operation;>;
            1    2     5          rootPath  Ljava/lang/String;
    Signature: (Ljava/lang/Object;Lorg/springframework/boot/actuate/endpoint/EndpointId;ZLjava/util/Collection<Lorg/springframework/boot/actuate/endpoint/Operation;>;)Lorg/springframework/boot/actuate/endpoint/web/annotation/ExposableControllerEndpoint;
    MethodParameters:
                  Name  Flags
      endpointBean      
      id                
      enabledByDefault  
      operations        

  protected org.springframework.boot.actuate.endpoint.Operation createOperation(org.springframework.boot.actuate.endpoint.EndpointId, org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationMethod, org.springframework.boot.actuate.endpoint.invoke.OperationInvoker);
    descriptor: (Lorg/springframework/boot/actuate/endpoint/EndpointId;Lorg/springframework/boot/actuate/endpoint/annotation/DiscoveredOperationMethod;Lorg/springframework/boot/actuate/endpoint/invoke/OperationInvoker;)Lorg/springframework/boot/actuate/endpoint/Operation;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
        start local 1 // org.springframework.boot.actuate.endpoint.EndpointId endpointId
        start local 2 // org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationMethod operationMethod
        start local 3 // org.springframework.boot.actuate.endpoint.invoke.OperationInvoker invoker
         0: .line 75
            new java.lang.IllegalStateException
            dup
            ldc "ControllerEndpoints must not declare operations"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // org.springframework.boot.actuate.endpoint.invoke.OperationInvoker invoker
        end local 2 // org.springframework.boot.actuate.endpoint.annotation.DiscoveredOperationMethod operationMethod
        end local 1 // org.springframework.boot.actuate.endpoint.EndpointId endpointId
        end local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscoverer;
            0    1     1       endpointId  Lorg/springframework/boot/actuate/endpoint/EndpointId;
            0    1     2  operationMethod  Lorg/springframework/boot/actuate/endpoint/annotation/DiscoveredOperationMethod;
            0    1     3          invoker  Lorg/springframework/boot/actuate/endpoint/invoke/OperationInvoker;
    MethodParameters:
                 Name  Flags
      endpointId       
      operationMethod  
      invoker          

  protected org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$OperationKey createOperationKey(org.springframework.boot.actuate.endpoint.Operation);
    descriptor: (Lorg/springframework/boot/actuate/endpoint/Operation;)Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer$OperationKey;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
        start local 1 // org.springframework.boot.actuate.endpoint.Operation operation
         0: .line 80
            new java.lang.IllegalStateException
            dup
            ldc "ControllerEndpoints must not declare operations"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.springframework.boot.actuate.endpoint.Operation operation
        end local 0 // org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointDiscoverer;
            0    1     1  operation  Lorg/springframework/boot/actuate/endpoint/Operation;
    MethodParameters:
           Name  Flags
      operation  

  protected org.springframework.boot.actuate.endpoint.ExposableEndpoint createEndpoint(java.lang.Object, org.springframework.boot.actuate.endpoint.EndpointId, boolean, java.util.Collection);
    descriptor: (Ljava/lang/Object;Lorg/springframework/boot/actuate/endpoint/EndpointId;ZLjava/util/Collection;)Lorg/springframework/boot/actuate/endpoint/ExposableEndpoint;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            iload 3
            aload 4
            checkcast java.util.Collection
            invokevirtual org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointDiscoverer.createEndpoint:(Ljava/lang/Object;Lorg/springframework/boot/actuate/endpoint/EndpointId;ZLjava/util/Collection;)Lorg/springframework/boot/actuate/endpoint/web/annotation/ExposableControllerEndpoint;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/springframework/boot/actuate/endpoint/annotation/EndpointDiscoverer<Lorg/springframework/boot/actuate/endpoint/web/annotation/ExposableControllerEndpoint;Lorg/springframework/boot/actuate/endpoint/Operation;>;Lorg/springframework/boot/actuate/endpoint/web/annotation/ControllerEndpointsSupplier;
SourceFile: "ControllerEndpointDiscoverer.java"
InnerClasses:
  protected final OperationKey = org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer$OperationKey of org.springframework.boot.actuate.endpoint.annotation.EndpointDiscoverer
  public final SearchStrategy = org.springframework.core.annotation.MergedAnnotations$SearchStrategy of org.springframework.core.annotation.MergedAnnotations