public final class com.google.common.collect.Queues
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.Queues
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Queues this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.collect.Queues this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Queues;

  public static <E> java.util.concurrent.ArrayBlockingQueue<E> newArrayBlockingQueue(int);
    descriptor: (I)Ljava/util/concurrent/ArrayBlockingQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int capacity
         0: .line 55
            new java.util.concurrent.ArrayBlockingQueue
            dup
            iload 0 /* capacity */
            invokespecial java.util.concurrent.ArrayBlockingQueue.<init>:(I)V
            areturn
        end local 0 // int capacity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  capacity  I
    Signature: <E:Ljava/lang/Object;>(I)Ljava/util/concurrent/ArrayBlockingQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      capacity  

  public static <E> java.util.ArrayDeque<E> newArrayDeque();
    descriptor: ()Ljava/util/ArrayDeque;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/ArrayDeque<TE;>;

  public static <E> java.util.ArrayDeque<E> newArrayDeque(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/ArrayDeque;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 76
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 77
            new java.util.ArrayDeque
            dup
            aload 0 /* elements */
            invokestatic com.google.common.collect.Collections2.cast:(Ljava/lang/Iterable;)Ljava/util/Collection;
            invokespecial java.util.ArrayDeque.<init>:(Ljava/util/Collection;)V
            areturn
         2: .line 79
      StackMap locals:
      StackMap stack:
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 1 /* deque */
        start local 1 // java.util.ArrayDeque deque
         3: .line 80
            aload 1 /* deque */
            aload 0 /* elements */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
         4: .line 81
            aload 1 /* deque */
            areturn
        end local 1 // java.util.ArrayDeque deque
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  Ljava/lang/Iterable<+TE;>;
            3    5     1     deque  Ljava/util/ArrayDeque<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<+TE;>;)Ljava/util/ArrayDeque<TE;>;
    MethodParameters:
          Name  Flags
      elements  

  public static <E> java.util.concurrent.ConcurrentLinkedQueue<E> newConcurrentLinkedQueue();
    descriptor: ()Ljava/util/concurrent/ConcurrentLinkedQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/concurrent/ConcurrentLinkedQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()

  public static <E> java.util.concurrent.ConcurrentLinkedQueue<E> newConcurrentLinkedQueue(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/concurrent/ConcurrentLinkedQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 99
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 100
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            aload 0 /* elements */
            invokestatic com.google.common.collect.Collections2.cast:(Ljava/lang/Iterable;)Ljava/util/Collection;
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:(Ljava/util/Collection;)V
            areturn
         2: .line 102
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            astore 1 /* queue */
        start local 1 // java.util.concurrent.ConcurrentLinkedQueue queue
         3: .line 103
            aload 1 /* queue */
            aload 0 /* elements */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
         4: .line 104
            aload 1 /* queue */
            areturn
        end local 1 // java.util.concurrent.ConcurrentLinkedQueue queue
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  Ljava/lang/Iterable<+TE;>;
            3    5     1     queue  Ljava/util/concurrent/ConcurrentLinkedQueue<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<+TE;>;)Ljava/util/concurrent/ConcurrentLinkedQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      elements  

  public static <E> java.util.concurrent.LinkedBlockingDeque<E> newLinkedBlockingDeque();
    descriptor: ()Ljava/util/concurrent/LinkedBlockingDeque;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 116
            new java.util.concurrent.LinkedBlockingDeque
            dup
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/concurrent/LinkedBlockingDeque<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()

  public static <E> java.util.concurrent.LinkedBlockingDeque<E> newLinkedBlockingDeque(int);
    descriptor: (I)Ljava/util/concurrent/LinkedBlockingDeque;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int capacity
         0: .line 127
            new java.util.concurrent.LinkedBlockingDeque
            dup
            iload 0 /* capacity */
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:(I)V
            areturn
        end local 0 // int capacity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  capacity  I
    Signature: <E:Ljava/lang/Object;>(I)Ljava/util/concurrent/LinkedBlockingDeque<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      capacity  

  public static <E> java.util.concurrent.LinkedBlockingDeque<E> newLinkedBlockingDeque(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/concurrent/LinkedBlockingDeque;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 139
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 140
            new java.util.concurrent.LinkedBlockingDeque
            dup
            aload 0 /* elements */
            invokestatic com.google.common.collect.Collections2.cast:(Ljava/lang/Iterable;)Ljava/util/Collection;
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:(Ljava/util/Collection;)V
            areturn
         2: .line 142
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.LinkedBlockingDeque
            dup
            invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
            astore 1 /* deque */
        start local 1 // java.util.concurrent.LinkedBlockingDeque deque
         3: .line 143
            aload 1 /* deque */
            aload 0 /* elements */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
         4: .line 144
            aload 1 /* deque */
            areturn
        end local 1 // java.util.concurrent.LinkedBlockingDeque deque
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  Ljava/lang/Iterable<+TE;>;
            3    5     1     deque  Ljava/util/concurrent/LinkedBlockingDeque<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<+TE;>;)Ljava/util/concurrent/LinkedBlockingDeque<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      elements  

  public static <E> java.util.concurrent.LinkedBlockingQueue<E> newLinkedBlockingQueue();
    descriptor: ()Ljava/util/concurrent/LinkedBlockingQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 152
            new java.util.concurrent.LinkedBlockingQueue
            dup
            invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/concurrent/LinkedBlockingQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()

  public static <E> java.util.concurrent.LinkedBlockingQueue<E> newLinkedBlockingQueue(int);
    descriptor: (I)Ljava/util/concurrent/LinkedBlockingQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // int capacity
         0: .line 162
            new java.util.concurrent.LinkedBlockingQueue
            dup
            iload 0 /* capacity */
            invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:(I)V
            areturn
        end local 0 // int capacity
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  capacity  I
    Signature: <E:Ljava/lang/Object;>(I)Ljava/util/concurrent/LinkedBlockingQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      capacity  

  public static <E> java.util.concurrent.LinkedBlockingQueue<E> newLinkedBlockingQueue(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/concurrent/LinkedBlockingQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 175
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 176
            new java.util.concurrent.LinkedBlockingQueue
            dup
            aload 0 /* elements */
            invokestatic com.google.common.collect.Collections2.cast:(Ljava/lang/Iterable;)Ljava/util/Collection;
            invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:(Ljava/util/Collection;)V
            areturn
         2: .line 178
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.LinkedBlockingQueue
            dup
            invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
            astore 1 /* queue */
        start local 1 // java.util.concurrent.LinkedBlockingQueue queue
         3: .line 179
            aload 1 /* queue */
            aload 0 /* elements */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
         4: .line 180
            aload 1 /* queue */
            areturn
        end local 1 // java.util.concurrent.LinkedBlockingQueue queue
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  Ljava/lang/Iterable<+TE;>;
            3    5     1     queue  Ljava/util/concurrent/LinkedBlockingQueue<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/lang/Iterable<+TE;>;)Ljava/util/concurrent/LinkedBlockingQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      elements  

  public static <E extends java.lang.Comparable> java.util.concurrent.PriorityBlockingQueue<E> newPriorityBlockingQueue();
    descriptor: ()Ljava/util/concurrent/PriorityBlockingQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 195
            new java.util.concurrent.PriorityBlockingQueue
            dup
            invokespecial java.util.concurrent.PriorityBlockingQueue.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E::Ljava/lang/Comparable;>()Ljava/util/concurrent/PriorityBlockingQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()

  public static <E extends java.lang.Comparable> java.util.concurrent.PriorityBlockingQueue<E> newPriorityBlockingQueue(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/concurrent/PriorityBlockingQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 209
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 210
            new java.util.concurrent.PriorityBlockingQueue
            dup
            aload 0 /* elements */
            invokestatic com.google.common.collect.Collections2.cast:(Ljava/lang/Iterable;)Ljava/util/Collection;
            invokespecial java.util.concurrent.PriorityBlockingQueue.<init>:(Ljava/util/Collection;)V
            areturn
         2: .line 212
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.PriorityBlockingQueue
            dup
            invokespecial java.util.concurrent.PriorityBlockingQueue.<init>:()V
            astore 1 /* queue */
        start local 1 // java.util.concurrent.PriorityBlockingQueue queue
         3: .line 213
            aload 1 /* queue */
            aload 0 /* elements */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
         4: .line 214
            aload 1 /* queue */
            areturn
        end local 1 // java.util.concurrent.PriorityBlockingQueue queue
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  Ljava/lang/Iterable<+TE;>;
            3    5     1     queue  Ljava/util/concurrent/PriorityBlockingQueue<TE;>;
    Signature: <E::Ljava/lang/Comparable;>(Ljava/lang/Iterable<+TE;>;)Ljava/util/concurrent/PriorityBlockingQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      elements  

  public static <E extends java.lang.Comparable> java.util.PriorityQueue<E> newPriorityQueue();
    descriptor: ()Ljava/util/PriorityQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 226
            new java.util.PriorityQueue
            dup
            invokespecial java.util.PriorityQueue.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E::Ljava/lang/Comparable;>()Ljava/util/PriorityQueue<TE;>;

  public static <E extends java.lang.Comparable> java.util.PriorityQueue<E> newPriorityQueue(java.lang.Iterable<? extends E>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/PriorityQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Iterable elements
         0: .line 239
            aload 0 /* elements */
            instanceof java.util.Collection
            ifeq 2
         1: .line 240
            new java.util.PriorityQueue
            dup
            aload 0 /* elements */
            invokestatic com.google.common.collect.Collections2.cast:(Ljava/lang/Iterable;)Ljava/util/Collection;
            invokespecial java.util.PriorityQueue.<init>:(Ljava/util/Collection;)V
            areturn
         2: .line 242
      StackMap locals:
      StackMap stack:
            new java.util.PriorityQueue
            dup
            invokespecial java.util.PriorityQueue.<init>:()V
            astore 1 /* queue */
        start local 1 // java.util.PriorityQueue queue
         3: .line 243
            aload 1 /* queue */
            aload 0 /* elements */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
         4: .line 244
            aload 1 /* queue */
            areturn
        end local 1 // java.util.PriorityQueue queue
        end local 0 // java.lang.Iterable elements
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  elements  Ljava/lang/Iterable<+TE;>;
            3    5     1     queue  Ljava/util/PriorityQueue<TE;>;
    Signature: <E::Ljava/lang/Comparable;>(Ljava/lang/Iterable<+TE;>;)Ljava/util/PriorityQueue<TE;>;
    MethodParameters:
          Name  Flags
      elements  

  public static <E> java.util.concurrent.SynchronousQueue<E> newSynchronousQueue();
    descriptor: ()Ljava/util/concurrent/SynchronousQueue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 252
            new java.util.concurrent.SynchronousQueue
            dup
            invokespecial java.util.concurrent.SynchronousQueue.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/concurrent/SynchronousQueue<TE;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()

  public static <E> int drain(java.util.concurrent.BlockingQueue<E>, java.util.Collection<? super E>, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/BlockingQueue;Ljava/util/Collection;IJLjava/util/concurrent/TimeUnit;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // java.util.concurrent.BlockingQueue q
        start local 1 // java.util.Collection buffer
        start local 2 // int numElements
        start local 3 // long timeout
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 277
            aload 1 /* buffer */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 283
            invokestatic java.lang.System.nanoTime:()J
            aload 5 /* unit */
            lload 3 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            ladd
            lstore 6 /* deadline */
        start local 6 // long deadline
         2: .line 284
            iconst_0
            istore 8 /* added */
        start local 8 // int added
         3: .line 285
            goto 11
         4: .line 288
      StackMap locals: long int
      StackMap stack:
            iload 8 /* added */
            aload 0 /* q */
            aload 1 /* buffer */
            iload 2 /* numElements */
            iload 8 /* added */
            isub
            invokeinterface java.util.concurrent.BlockingQueue.drainTo:(Ljava/util/Collection;I)I
            iadd
            istore 8 /* added */
         5: .line 289
            iload 8 /* added */
            iload 2 /* numElements */
            if_icmpge 11
         6: .line 290
            aload 0 /* q */
            lload 6 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.BlockingQueue.poll:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
            astore 9 /* e */
        start local 9 // java.lang.Object e
         7: .line 291
            aload 9 /* e */
            ifnonnull 9
         8: .line 292
            goto 12
         9: .line 294
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* buffer */
            aload 9 /* e */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 295
            iinc 8 /* added */ 1
        end local 9 // java.lang.Object e
        11: .line 285
      StackMap locals:
      StackMap stack:
            iload 8 /* added */
            iload 2 /* numElements */
            if_icmplt 4
        12: .line 298
      StackMap locals:
      StackMap stack:
            iload 8 /* added */
            ireturn
        end local 8 // int added
        end local 6 // long deadline
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long timeout
        end local 2 // int numElements
        end local 1 // java.util.Collection buffer
        end local 0 // java.util.concurrent.BlockingQueue q
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0            q  Ljava/util/concurrent/BlockingQueue<TE;>;
            0   13     1       buffer  Ljava/util/Collection<-TE;>;
            0   13     2  numElements  I
            0   13     3      timeout  J
            0   13     5         unit  Ljava/util/concurrent/TimeUnit;
            2   13     6     deadline  J
            3   13     8        added  I
            7   11     9            e  TE;
    Exceptions:
      throws java.lang.InterruptedException
    Signature: <E:Ljava/lang/Object;>(Ljava/util/concurrent/BlockingQueue<TE;>;Ljava/util/Collection<-TE;>;IJLjava/util/concurrent/TimeUnit;)I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.errorprone.annotations.CanIgnoreReturnValue()
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
             Name  Flags
      q            
      buffer       
      numElements  
      timeout      
      unit         

  public static <E> int drainUninterruptibly(java.util.concurrent.BlockingQueue<E>, java.util.Collection<? super E>, int, long, java.util.concurrent.TimeUnit);
    descriptor: (Ljava/util/concurrent/BlockingQueue;Ljava/util/Collection;IJLjava/util/concurrent/TimeUnit;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // java.util.concurrent.BlockingQueue q
        start local 1 // java.util.Collection buffer
        start local 2 // int numElements
        start local 3 // long timeout
        start local 5 // java.util.concurrent.TimeUnit unit
         0: .line 323
            aload 1 /* buffer */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 324
            invokestatic java.lang.System.nanoTime:()J
            aload 5 /* unit */
            lload 3 /* timeout */
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            ladd
            lstore 6 /* deadline */
        start local 6 // long deadline
         2: .line 325
            iconst_0
            istore 8 /* added */
        start local 8 // int added
         3: .line 326
            iconst_0
            istore 9 /* interrupted */
        start local 9 // boolean interrupted
         4: .line 328
            goto 16
         5: .line 331
      StackMap locals: long int int
      StackMap stack:
            iload 8 /* added */
            aload 0 /* q */
            aload 1 /* buffer */
            iload 2 /* numElements */
            iload 8 /* added */
            isub
            invokeinterface java.util.concurrent.BlockingQueue.drainTo:(Ljava/util/Collection;I)I
            iadd
            istore 8 /* added */
         6: .line 332
            iload 8 /* added */
            iload 2 /* numElements */
            if_icmpge 16
         7: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* q */
            lload 6 /* deadline */
            invokestatic java.lang.System.nanoTime:()J
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.BlockingQueue.poll:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
            astore 10 /* e */
        start local 10 // java.lang.Object e
         8: .line 337
            goto 12
        end local 10 // java.lang.Object e
         9: .line 338
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        10: .line 339
            iconst_1
            istore 9 /* interrupted */
        11: .line 334
            goto 7
        start local 10 // java.lang.Object e
        12: .line 342
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 10 /* e */
            ifnonnull 14
        13: .line 343
            goto 22
        14: .line 345
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            aload 10 /* e */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        15: .line 346
            iinc 8 /* added */ 1
        end local 10 // java.lang.Object e
        16: .line 328
      StackMap locals:
      StackMap stack:
            iload 8 /* added */
            iload 2 /* numElements */
            if_icmplt 5
        17: .line 349
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 11
        19: .line 350
            iload 9 /* interrupted */
            ifeq 21
        20: .line 351
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        21: .line 353
      StackMap locals: java.util.concurrent.BlockingQueue java.util.Collection int long java.util.concurrent.TimeUnit long int int top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        22: .line 350
      StackMap locals: java.util.concurrent.BlockingQueue java.util.Collection int long java.util.concurrent.TimeUnit long int int
      StackMap stack:
            iload 9 /* interrupted */
            ifeq 24
        23: .line 351
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        24: .line 354
      StackMap locals:
      StackMap stack:
            iload 8 /* added */
            ireturn
        end local 9 // boolean interrupted
        end local 8 // int added
        end local 6 // long deadline
        end local 5 // java.util.concurrent.TimeUnit unit
        end local 3 // long timeout
        end local 2 // int numElements
        end local 1 // java.util.Collection buffer
        end local 0 // java.util.concurrent.BlockingQueue q
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0            q  Ljava/util/concurrent/BlockingQueue<TE;>;
            0   25     1       buffer  Ljava/util/Collection<-TE;>;
            0   25     2  numElements  I
            0   25     3      timeout  J
            0   25     5         unit  Ljava/util/concurrent/TimeUnit;
            2   25     6     deadline  J
            3   25     8        added  I
            4   25     9  interrupted  Z
            8    9    10            e  TE;
           12   16    10            e  TE;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.InterruptedException
           4    18      18  any
    Signature: <E:Ljava/lang/Object;>(Ljava/util/concurrent/BlockingQueue<TE;>;Ljava/util/Collection<-TE;>;IJLjava/util/concurrent/TimeUnit;)I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.Beta()
      com.google.errorprone.annotations.CanIgnoreReturnValue()
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
             Name  Flags
      q            
      buffer       
      numElements  
      timeout      
      unit         

  public static <E> java.util.Queue<E> synchronizedQueue(java.util.Queue<E>);
    descriptor: (Ljava/util/Queue;)Ljava/util/Queue;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Queue queue
         0: .line 387
            aload 0 /* queue */
            aconst_null
            invokestatic com.google.common.collect.Synchronized.queue:(Ljava/util/Queue;Ljava/lang/Object;)Ljava/util/Queue;
            areturn
        end local 0 // java.util.Queue queue
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  queue  Ljava/util/Queue<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Queue<TE;>;)Ljava/util/Queue<TE;>;
    MethodParameters:
       Name  Flags
      queue  

  public static <E> java.util.Deque<E> synchronizedDeque(java.util.Deque<E>);
    descriptor: (Ljava/util/Deque;)Ljava/util/Deque;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Deque deque
         0: .line 420
            aload 0 /* deque */
            aconst_null
            invokestatic com.google.common.collect.Synchronized.deque:(Ljava/util/Deque;Ljava/lang/Object;)Ljava/util/Deque;
            areturn
        end local 0 // java.util.Deque deque
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  deque  Ljava/util/Deque<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Deque<TE;>;)Ljava/util/Deque<TE;>;
    MethodParameters:
       Name  Flags
      deque  
}
SourceFile: "Queues.java"
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)