abstract class org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner
  super_class: java.lang.Object
{
  private final java.util.Queue<T> callbacks;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<TT;>;

  private final java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(java.util.logging.Logger);
    descriptor: (Ljava/util/logging/Logger;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
        start local 1 // java.util.logging.Logger logger
         0: .line 1087
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1079
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            putfield org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner.callbacks:Ljava/util/Queue;
         2: .line 1088
            aload 0 /* this */
            aload 1 /* logger */
            putfield org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner.logger:Ljava/util/logging/Logger;
         3: .line 1089
            return
        end local 1 // java.util.logging.Logger logger
        end local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/glassfish/jersey/server/ServerRuntime$AbstractCallbackRunner<TT;>;
            0    4     1  logger  Ljava/util/logging/Logger;
    MethodParameters:
        Name  Flags
      logger  final

  public final boolean supports(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
        start local 1 // java.lang.Class callbackClass
         0: .line 1098
            aload 0 /* this */
            invokevirtual org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner.getCallbackContract:()Ljava/lang/Class;
            aload 1 /* callbackClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ireturn
        end local 1 // java.lang.Class callbackClass
        end local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/glassfish/jersey/server/ServerRuntime$AbstractCallbackRunner<TT;>;
            0    1     1  callbackClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
               Name  Flags
      callbackClass  final

  public abstract java.lang.Class<?> getCallbackContract();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/lang/Class<*>;

  public boolean register(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
        start local 1 // java.lang.Object callback
         0: .line 1116
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner.callbacks:Ljava/util/Queue;
            aload 1 /* callback */
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object callback
        end local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/glassfish/jersey/server/ServerRuntime$AbstractCallbackRunner<TT;>;
            0    1     1  callback  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      callback  final

  protected final void executeCallbacks(org.glassfish.jersey.internal.util.Closure<T>);
    descriptor: (Lorg/glassfish/jersey/internal/util/Closure;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
        start local 1 // org.glassfish.jersey.internal.util.Closure invoker
         0: .line 1125
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner.callbacks:Ljava/util/Queue;
            invokeinterface java.util.Queue.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner org.glassfish.jersey.internal.util.Closure top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 2 /* callback */
        start local 2 // java.lang.Object callback
         2: .line 1127
            aload 1 /* invoker */
            aload 2 /* callback */
            invokeinterface org.glassfish.jersey.internal.util.Closure.invoke:(Ljava/lang/Object;)V
         3: .line 1128
            goto 6
      StackMap locals: org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner org.glassfish.jersey.internal.util.Closure java.lang.Object java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 4 /* t */
        start local 4 // java.lang.Throwable t
         5: .line 1129
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 2 /* callback */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.glassfish.jersey.server.internal.LocalizationMessages.ERROR_ASYNC_CALLBACK_FAILED:(Ljava/lang/Object;)Ljava/lang/String;
            aload 4 /* t */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable t
        end local 2 // java.lang.Object callback
         6: .line 1125
      StackMap locals: org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner org.glassfish.jersey.internal.util.Closure top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 1132
            return
        end local 1 // org.glassfish.jersey.internal.util.Closure invoker
        end local 0 // org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/glassfish/jersey/server/ServerRuntime$AbstractCallbackRunner<TT;>;
            0    8     1   invoker  Lorg/glassfish/jersey/internal/util/Closure<TT;>;
            2    6     2  callback  TT;
            5    6     4         t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
    Signature: (Lorg/glassfish/jersey/internal/util/Closure<TT;>;)V
    MethodParameters:
         Name  Flags
      invoker  final
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ServerRuntime.java"
NestHost: org.glassfish.jersey.server.ServerRuntime
InnerClasses:
  abstract AbstractCallbackRunner = org.glassfish.jersey.server.ServerRuntime$AbstractCallbackRunner of org.glassfish.jersey.server.ServerRuntime