public interface org.hibernate.service.ServiceRegistry extends java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: org.hibernate.service.ServiceRegistry
  super_class: java.lang.Object
{
  public abstract org.hibernate.service.ServiceRegistry getParentServiceRegistry();
    descriptor: ()Lorg/hibernate/service/ServiceRegistry;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <R extends org.hibernate.service.Service> R getService(java.lang.Class<R>);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/service/Service;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: <R::Lorg/hibernate/service/Service;>(Ljava/lang/Class<TR;>;)TR;
    MethodParameters:
             Name  Flags
      serviceRole  

  public <R extends org.hibernate.service.Service> R requireService(java.lang.Class<R>);
    descriptor: (Ljava/lang/Class;)Lorg/hibernate/service/Service;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.service.ServiceRegistry this
        start local 1 // java.lang.Class serviceRole
         0: .line 52
            aload 0 /* this */
            aload 1 /* serviceRole */
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            astore 2 /* service */
        start local 2 // org.hibernate.service.Service service
         1: .line 53
            aload 2 /* service */
            ifnonnull 3
         2: .line 54
            new org.hibernate.service.NullServiceException
            dup
            aload 1 /* serviceRole */
            invokespecial org.hibernate.service.NullServiceException.<init>:(Ljava/lang/Class;)V
            athrow
         3: .line 56
      StackMap locals: org.hibernate.service.Service
      StackMap stack:
            aload 2 /* service */
            areturn
        end local 2 // org.hibernate.service.Service service
        end local 1 // java.lang.Class serviceRole
        end local 0 // org.hibernate.service.ServiceRegistry this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/hibernate/service/ServiceRegistry;
            0    4     1  serviceRole  Ljava/lang/Class<TR;>;
            1    4     2      service  TR;
    Signature: <R::Lorg/hibernate/service/Service;>(Ljava/lang/Class<TR;>;)TR;
    MethodParameters:
             Name  Flags
      serviceRole  

  public abstract void close();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "ServiceRegistry.java"