public abstract class javax.ws.rs.ext.RuntimeDelegate
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.ws.rs.ext.RuntimeDelegate
  super_class: java.lang.Object
{
  public static final java.lang.String JAXRS_RUNTIME_DELEGATE_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.ws.rs.ext.RuntimeDelegate"

  private static final java.lang.String JAXRS_DEFAULT_RUNTIME_DELEGATE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.glassfish.jersey.internal.RuntimeDelegateImpl"

  private static final java.lang.Object RD_LOCK;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.reflect.ReflectPermission suppressAccessChecksPermission;
    descriptor: Ljava/lang/reflect/ReflectPermission;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile javax.ws.rs.ext.RuntimeDelegate cachedDelegate;
    descriptor: Ljavax/ws/rs/ext/RuntimeDelegate;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 46
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic javax.ws.rs.ext.RuntimeDelegate.RD_LOCK:Ljava/lang/Object;
         1: .line 47
            new java.lang.reflect.ReflectPermission
            dup
            ldc "suppressAccessChecks"
            invokespecial java.lang.reflect.ReflectPermission.<init>:(Ljava/lang/String;)V
            putstatic javax.ws.rs.ext.RuntimeDelegate.suppressAccessChecksPermission:Ljava/lang/reflect/ReflectPermission;
         2: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.ws.rs.ext.RuntimeDelegate this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            return
        end local 0 // javax.ws.rs.ext.RuntimeDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/ws/rs/ext/RuntimeDelegate;

  public static javax.ws.rs.ext.RuntimeDelegate getInstance();
    descriptor: ()Ljavax/ws/rs/ext/RuntimeDelegate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 91
            getstatic javax.ws.rs.ext.RuntimeDelegate.cachedDelegate:Ljavax/ws/rs/ext/RuntimeDelegate;
            astore 0 /* result */
        start local 0 // javax.ws.rs.ext.RuntimeDelegate result
         1: .line 92
            aload 0 /* result */
            ifnonnull 10
         2: .line 93
            getstatic javax.ws.rs.ext.RuntimeDelegate.RD_LOCK:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 94
            getstatic javax.ws.rs.ext.RuntimeDelegate.cachedDelegate:Ljavax/ws/rs/ext/RuntimeDelegate;
            astore 0 /* result */
         4: .line 95
            aload 0 /* result */
            ifnonnull 6
         5: .line 96
            invokestatic javax.ws.rs.ext.RuntimeDelegate.findDelegate:()Ljavax/ws/rs/ext/RuntimeDelegate;
            dup
            astore 0 /* result */
            putstatic javax.ws.rs.ext.RuntimeDelegate.cachedDelegate:Ljavax/ws/rs/ext/RuntimeDelegate;
         6: .line 93
      StackMap locals: javax.ws.rs.ext.RuntimeDelegate java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 1
            monitorexit
         9: athrow
        10: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 0 // javax.ws.rs.ext.RuntimeDelegate result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1   11     0  result  Ljavax/ws/rs/ext/RuntimeDelegate;
      Exception table:
        from    to  target  type
           3     7       8  any
           8     9       8  any

  private static javax.ws.rs.ext.RuntimeDelegate findDelegate();
    descriptor: ()Ljavax/ws/rs/ext/RuntimeDelegate;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 112
            ldc "javax.ws.rs.ext.RuntimeDelegate"
         1: .line 113
            ldc "org.glassfish.jersey.internal.RuntimeDelegateImpl"
         2: .line 114
            ldc Ljavax/ws/rs/ext/RuntimeDelegate;
         3: .line 111
            invokestatic javax.ws.rs.ext.FactoryFinder.find:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            astore 0 /* delegate */
        start local 0 // java.lang.Object delegate
         4: .line 115
            aload 0 /* delegate */
            instanceof javax.ws.rs.ext.RuntimeDelegate
            ifne 15
         5: .line 116
            ldc Ljavax/ws/rs/ext/RuntimeDelegate;
            astore 1 /* pClass */
        start local 1 // java.lang.Class pClass
         6: .line 117
            new java.lang.StringBuilder
            dup
            aload 1 /* pClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* classnameAsResource */
        start local 2 // java.lang.String classnameAsResource
         7: .line 118
            aload 1 /* pClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
        start local 3 // java.lang.ClassLoader loader
         8: .line 119
            aload 3 /* loader */
            ifnonnull 10
         9: .line 120
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 3 /* loader */
        10: .line 122
      StackMap locals: java.lang.Object java.lang.Class java.lang.String java.lang.ClassLoader
      StackMap stack:
            aload 3 /* loader */
            aload 2 /* classnameAsResource */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 4 /* targetTypeURL */
        start local 4 // java.net.URL targetTypeURL
        11: .line 123
            new java.lang.LinkageError
            dup
            new java.lang.StringBuilder
            dup
            ldc "ClassCastException: attempting to cast"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 124
            aload 0 /* delegate */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 2 /* classnameAsResource */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        13: .line 125
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* targetTypeURL */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 123
            invokespecial java.lang.LinkageError.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.net.URL targetTypeURL
        end local 3 // java.lang.ClassLoader loader
        end local 2 // java.lang.String classnameAsResource
        end local 1 // java.lang.Class pClass
        15: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* delegate */
            checkcast javax.ws.rs.ext.RuntimeDelegate
        16: areturn
        end local 0 // java.lang.Object delegate
        17: .line 128
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 0 /* ex */
        start local 0 // java.lang.Exception ex
        18: .line 129
            new java.lang.RuntimeException
            dup
            aload 0 /* ex */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception ex
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            4   17     0             delegate  Ljava/lang/Object;
            6   15     1               pClass  Ljava/lang/Class;
            7   15     2  classnameAsResource  Ljava/lang/String;
            8   15     3               loader  Ljava/lang/ClassLoader;
           11   15     4        targetTypeURL  Ljava/net/URL;
           18   19     0                   ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    16      17  Class java.lang.Exception

  public static void setInstance(javax.ws.rs.ext.RuntimeDelegate);
    descriptor: (Ljavax/ws/rs/ext/RuntimeDelegate;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javax.ws.rs.ext.RuntimeDelegate rd
         0: .line 143
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* security */
        start local 1 // java.lang.SecurityManager security
         1: .line 144
            aload 1 /* security */
            ifnull 3
         2: .line 145
            aload 1 /* security */
            getstatic javax.ws.rs.ext.RuntimeDelegate.suppressAccessChecksPermission:Ljava/lang/reflect/ReflectPermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
         3: .line 147
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic javax.ws.rs.ext.RuntimeDelegate.RD_LOCK:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         4: .line 148
            aload 0 /* rd */
            putstatic javax.ws.rs.ext.RuntimeDelegate.cachedDelegate:Ljavax/ws/rs/ext/RuntimeDelegate;
         5: .line 147
            aload 2
            monitorexit
         6: goto 9
      StackMap locals: javax.ws.rs.ext.RuntimeDelegate java.lang.SecurityManager java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.SecurityManager security
        end local 0 // javax.ws.rs.ext.RuntimeDelegate rd
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0        rd  Ljavax/ws/rs/ext/RuntimeDelegate;
            1   10     1  security  Ljava/lang/SecurityManager;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      rd    final

  public abstract javax.ws.rs.core.UriBuilder createUriBuilder();
    descriptor: ()Ljavax/ws/rs/core/UriBuilder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.ws.rs.core.Response$ResponseBuilder createResponseBuilder();
    descriptor: ()Ljavax/ws/rs/core/Response$ResponseBuilder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract javax.ws.rs.core.Variant$VariantListBuilder createVariantListBuilder();
    descriptor: ()Ljavax/ws/rs/core/Variant$VariantListBuilder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract <T> T createEndpoint(javax.ws.rs.core.Application, java.lang.Class<T>);
    descriptor: (Ljavax/ws/rs/core/Application;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.UnsupportedOperationException
    Signature: <T:Ljava/lang/Object;>(Ljavax/ws/rs/core/Application;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
              Name  Flags
      application   
      endpointType  

  public abstract <T> javax.ws.rs.ext.RuntimeDelegate$HeaderDelegate<T> createHeaderDelegate(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljavax/ws/rs/ext/RuntimeDelegate$HeaderDelegate;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)Ljavax/ws/rs/ext/RuntimeDelegate$HeaderDelegate<TT;>;
    MethodParameters:
      Name  Flags
      type  

  public abstract javax.ws.rs.core.Link$Builder createLinkBuilder();
    descriptor: ()Ljavax/ws/rs/core/Link$Builder;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
}
SourceFile: "RuntimeDelegate.java"
NestMembers:
  javax.ws.rs.ext.RuntimeDelegate$HeaderDelegate
InnerClasses:
  public abstract Builder = javax.ws.rs.core.Link$Builder of javax.ws.rs.core.Link
  public abstract ResponseBuilder = javax.ws.rs.core.Response$ResponseBuilder of javax.ws.rs.core.Response
  public abstract VariantListBuilder = javax.ws.rs.core.Variant$VariantListBuilder of javax.ws.rs.core.Variant
  public abstract HeaderDelegate = javax.ws.rs.ext.RuntimeDelegate$HeaderDelegate of javax.ws.rs.ext.RuntimeDelegate