public class io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> implements io.vertx.core.streams.ReadStream<O>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream
  super_class: java.lang.Object
{
  private static final int BATCH_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private final io.vertx.core.Context context;
    descriptor: Lio/vertx/core/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.function.Supplier<org.infinispan.commons.util.CloseableIteratorCollection<I>> iterableSupplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Lorg/infinispan/commons/util/CloseableIteratorCollection<TI;>;>;

  private final java.util.function.Function<I, O> converter;
    descriptor: Ljava/util/function/Function;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Function<TI;TO;>;

  private org.infinispan.commons.util.CloseableIteratorCollection<I> iterable;
    descriptor: Lorg/infinispan/commons/util/CloseableIteratorCollection;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/infinispan/commons/util/CloseableIteratorCollection<TI;>;

  private org.infinispan.commons.util.CloseableIterator<I> iterator;
    descriptor: Lorg/infinispan/commons/util/CloseableIterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/infinispan/commons/util/CloseableIterator<TI;>;

  private java.util.Deque<I> queue;
    descriptor: Ljava/util/Deque;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Deque<TI;>;

  private io.vertx.core.Handler<O> dataHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<TO;>;

  private io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  private io.vertx.core.Handler<java.lang.Void> endHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/Handler<Ljava/lang/Void;>;

  private long demand;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean readInProgress;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>(io.vertx.core.Context, java.util.function.Supplier<org.infinispan.commons.util.CloseableIteratorCollection<I>>, java.util.function.Function<I, O>);
    descriptor: (Lio/vertx/core/Context;Ljava/util/function/Supplier;Ljava/util/function/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Context context
        start local 2 // java.util.function.Supplier iterableSupplier
        start local 3 // java.util.function.Function converter
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            ldc 9223372036854775807
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
         2: .line 55
            aload 0 /* this */
            aload 1 /* context */
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.context:Lio/vertx/core/Context;
         3: .line 56
            aload 0 /* this */
            aload 2 /* iterableSupplier */
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterableSupplier:Ljava/util/function/Supplier;
         4: .line 57
            aload 0 /* this */
            aload 3 /* converter */
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.converter:Ljava/util/function/Function;
         5: .line 58
            return
        end local 3 // java.util.function.Function converter
        end local 2 // java.util.function.Supplier iterableSupplier
        end local 1 // io.vertx.core.Context context
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    6     1           context  Lio/vertx/core/Context;
            0    6     2  iterableSupplier  Ljava/util/function/Supplier<Lorg/infinispan/commons/util/CloseableIteratorCollection<TI;>;>;
            0    6     3         converter  Ljava/util/function/Function<TI;TO;>;
    Signature: (Lio/vertx/core/Context;Ljava/util/function/Supplier<Lorg/infinispan/commons/util/CloseableIteratorCollection<TI;>;>;Ljava/util/function/Function<TI;TO;>;)V
    MethodParameters:
                  Name  Flags
      context           
      iterableSupplier  
      converter         

  public synchronized io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Handler handler
         0: .line 62
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.checkClosed:()V
         1: .line 63
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.exceptionHandler:Lio/vertx/core/Handler;
         2: .line 64
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    3     1  handler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
    MethodParameters:
         Name  Flags
      handler  

  private void checkClosed();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 68
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.closed:Z
            ifeq 2
         1: .line 69
            new java.lang.IllegalArgumentException
            dup
            ldc "Stream is closed"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 71
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;

  public synchronized io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> handler(io.vertx.core.Handler<O>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Handler handler
         0: .line 75
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.checkClosed:()V
         1: .line 76
            aload 1 /* handler */
            ifnonnull 4
         2: .line 77
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.close:()V
         3: .line 78
            goto 6
         4: .line 79
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.dataHandler:Lio/vertx/core/Handler;
         5: .line 80
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.context:Lio/vertx/core/Context;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$0(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
            iconst_0
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$1(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Context.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         6: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    7     1  handler  Lio/vertx/core/Handler<TO;>;
    Signature: (Lio/vertx/core/Handler<TO;>;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
    MethodParameters:
         Name  Flags
      handler  

  private boolean canRead();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 98
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
            lconst_0
            lcmp
            ifle 1
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.closed:Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;

  public synchronized io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> pause();
    descriptor: ()Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 103
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.checkClosed:()V
         1: .line 104
            aload 0 /* this */
            lconst_0
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
         2: .line 105
            aload 0 /* this */
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
    Signature: ()Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;

  public io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> fetch(long);
    descriptor: (J)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // long amount
         0: .line 110
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.checkClosed:()V
         1: .line 111
            lload 1 /* amount */
            lconst_0
            lcmp
            ifle 7
         2: .line 112
            aload 0 /* this */
            dup
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
            lload 1 /* amount */
            ladd
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
         3: .line 113
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
            lconst_0
            lcmp
            ifge 5
         4: .line 114
            aload 0 /* this */
            ldc 9223372036854775807
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
         5: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.dataHandler:Lio/vertx/core/Handler;
            ifnull 7
         6: .line 117
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.doRead:()V
         7: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // long amount
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    8     1  amount  J
    Signature: (J)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
    MethodParameters:
        Name  Flags
      amount  

  public synchronized io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> resume();
    descriptor: ()Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 125
            aload 0 /* this */
            ldc 9223372036854775807
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.fetch:(J)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
    Signature: ()Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;

  private synchronized void doRead();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 129
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.readInProgress:Z
            ifeq 2
         1: .line 130
            return
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.readInProgress:Z
         3: .line 133
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterator:Lorg/infinispan/commons/util/CloseableIterator;
            ifnonnull 6
         4: .line 134
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.context:Lio/vertx/core/Context;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$2(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
            iconst_0
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$3(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.Context.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         5: .line 148
            return
         6: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
            ifnonnull 8
         7: .line 151
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            bipush 10
            invokespecial java.util.ArrayDeque.<init>:(I)V
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
         8: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 11
         9: .line 154
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.context:Lio/vertx/core/Context;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$4(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
        10: .line 155
            return
        11: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.context:Lio/vertx/core/Context;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$5(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
        12: .line 163
            iconst_0
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$6(Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
        13: .line 157
            invokeinterface io.vertx.core.Context.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
        14: .line 181
            return
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;

  private void handleException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // java.lang.Throwable cause
         0: .line 184
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.exceptionHandler:Lio/vertx/core/Handler;
            ifnull 2
         1: .line 185
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.exceptionHandler:Lio/vertx/core/Handler;
            aload 1 /* cause */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable cause
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    3     1  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  private synchronized void emitQueued();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 190
            goto 4
         1: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
            ldc 9223372036854775807
            lcmp
            ifeq 3
         2: .line 192
            aload 0 /* this */
            dup
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
            lconst_1
            lsub
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.demand:J
         3: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.dataHandler:Lio/vertx/core/Handler;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.converter:Ljava/util/function/Function;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.remove:()Ljava/lang/Object;
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 5
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.canRead:()Z
            ifne 1
         5: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.readInProgress:Z
         6: .line 197
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.canRead:()Z
            ifeq 8
         7: .line 198
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.doRead:()V
         8: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;

  public synchronized io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream<I, O> endHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Handler handler
         0: .line 204
            aload 0 /* this */
            aload 1 /* handler */
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.endHandler:Lio/vertx/core/Handler;
         1: .line 205
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    2     1  handler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
    MethodParameters:
         Name  Flags
      handler  

  private void close();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
         0: .line 209
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.closed:Z
         1: .line 210
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            astore 1 /* iteratorRef */
        start local 1 // java.util.concurrent.atomic.AtomicReference iteratorRef
         2: .line 211
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.context:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 1 /* iteratorRef */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;Ljava/util/concurrent/atomic/AtomicReference;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream.lambda$7(Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         3: .line 220
            iconst_0
            aconst_null
         4: .line 211
            invokeinterface io.vertx.core.Context.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         5: .line 221
            return
        end local 1 // java.util.concurrent.atomic.AtomicReference iteratorRef
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            2    6     1  iteratorRef  Ljava/util/concurrent/atomic/AtomicReference<Lorg/infinispan/commons/util/CloseableIterator<TI;>;>;

  public io.vertx.core.streams.ReadStream pause();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.pause:()Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream handler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.Handler
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.handler:(Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream endHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream resume();
    descriptor: ()Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.resume:()Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream fetch(long);
    descriptor: (J)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
         0: .line 1
            aload 0
            lload 1
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.fetch:(J)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public io.vertx.core.streams.ReadStream exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Promise fut
         0: .line 80
            aload 1 /* fut */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterableSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast org.infinispan.commons.util.CloseableIteratorCollection
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
            return
        end local 1 // io.vertx.core.Promise fut
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    1     1   fut  Lio/vertx/core/Promise<Lorg/infinispan/commons/util/CloseableIteratorCollection<TI;>;>;

  private void lambda$1(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 81
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 82
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 6
         2: .line 83
            aload 0 /* this */
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast org.infinispan.commons.util.CloseableIteratorCollection
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterable:Lorg/infinispan/commons/util/CloseableIteratorCollection;
         3: .line 84
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.canRead:()Z
            ifeq 8
         4: .line 85
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.doRead:()V
         5: .line 87
            goto 8
         6: .line 88
      StackMap locals: io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.close:()V
         7: .line 89
            aload 0 /* this */
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.handleException:(Ljava/lang/Throwable;)V
         8: .line 81
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         9: goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 92
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0   13     1    ar  Lio/vertx/core/AsyncResult<Lorg/infinispan/commons/util/CloseableIteratorCollection<TI;>;>;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any

  private void lambda$2(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Promise fut
         0: .line 134
            aload 1 /* fut */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterable:Lorg/infinispan/commons/util/CloseableIteratorCollection;
            invokeinterface org.infinispan.commons.util.CloseableIteratorCollection.iterator:()Lorg/infinispan/commons/util/CloseableIterator;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
            return
        end local 1 // io.vertx.core.Promise fut
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    1     1   fut  Lio/vertx/core/Promise<Lorg/infinispan/commons/util/CloseableIterator<TI;>;>;

  private void lambda$3(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 135
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 136
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.readInProgress:Z
         2: .line 137
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 7
         3: .line 138
            aload 0 /* this */
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast org.infinispan.commons.util.CloseableIterator
            putfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterator:Lorg/infinispan/commons/util/CloseableIterator;
         4: .line 139
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.canRead:()Z
            ifeq 9
         5: .line 140
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.doRead:()V
         6: .line 142
            goto 9
         7: .line 143
      StackMap locals: io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.close:()V
         8: .line 144
            aload 0 /* this */
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.handleException:(Ljava/lang/Throwable;)V
         9: .line 135
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 147
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0   14     1    ar  Lio/vertx/core/AsyncResult<Lorg/infinispan/commons/util/CloseableIterator<TI;>;>;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any

  private void lambda$4(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // java.lang.Void v
         0: .line 154
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.emitQueued:()V
            return
        end local 1 // java.lang.Void v
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    1     1     v  Ljava/lang/Void;

  private void lambda$5(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.Promise fut
         0: .line 158
            new java.util.ArrayList
            dup
            bipush 10
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* batch */
        start local 2 // java.util.List batch
         1: .line 159
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 160
      StackMap locals: java.util.List int
      StackMap stack:
            aload 2 /* batch */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterator:Lorg/infinispan/commons/util/CloseableIterator;
            invokeinterface org.infinispan.commons.util.CloseableIterator.next:()Ljava/lang/Object;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 159
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            bipush 10
            if_icmpge 6
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterator:Lorg/infinispan/commons/util/CloseableIterator;
            invokeinterface org.infinispan.commons.util.CloseableIterator.hasNext:()Z
            ifne 3
        end local 3 // int i
         6: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* fut */
            aload 2 /* batch */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 2 // java.util.List batch
         7: .line 163
            return
        end local 1 // io.vertx.core.Promise fut
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0    8     1    fut  Lio/vertx/core/Promise<Ljava/util/List<TI;>;>;
            1    7     2  batch  Ljava/util/List<TI;>;
            2    6     3      i  I

  private void lambda$6(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 164
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 165
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 10
         2: .line 166
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.util.Collection
            invokeinterface java.util.Deque.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 167
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 8
         4: .line 168
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.close:()V
         5: .line 169
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.endHandler:Lio/vertx/core/Handler;
            ifnull 12
         6: .line 170
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.endHandler:Lio/vertx/core/Handler;
            aconst_null
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 172
            goto 12
         8: .line 173
      StackMap locals: io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.emitQueued:()V
         9: .line 175
            goto 12
        10: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.close:()V
        11: .line 177
            aload 0 /* this */
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.handleException:(Ljava/lang/Throwable;)V
        12: .line 164
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 2
            monitorexit
        15: athrow
        16: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0   17     1    ar  Lio/vertx/core/AsyncResult<Ljava/util/List<TI;>;>;
      Exception table:
        from    to  target  type
           1    13      14  any
          14    15      14  any

  private void lambda$7(java.util.concurrent.atomic.AtomicReference, io.vertx.core.Promise);
    descriptor: (Ljava/util/concurrent/atomic/AtomicReference;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
        start local 2 // io.vertx.core.Promise fut
         0: .line 212
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 213
            aload 1
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream.iterator:Lorg/infinispan/commons/util/CloseableIterator;
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         2: .line 212
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream java.util.concurrent.atomic.AtomicReference io.vertx.core.Promise io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 215
      StackMap locals:
      StackMap stack:
            aload 1
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.infinispan.commons.util.CloseableIterator
            astore 3 /* iter */
        start local 3 // org.infinispan.commons.util.CloseableIterator iter
         7: .line 216
            aload 3 /* iter */
            ifnull 9
         8: .line 217
            aload 3 /* iter */
            invokeinterface org.infinispan.commons.util.CloseableIterator.close:()V
         9: .line 219
      StackMap locals: org.infinispan.commons.util.CloseableIterator
      StackMap stack:
            aload 2 /* fut */
            invokeinterface io.vertx.core.Promise.complete:()V
        end local 3 // org.infinispan.commons.util.CloseableIterator iter
        10: .line 220
            return
        end local 2 // io.vertx.core.Promise fut
        end local 0 // io.vertx.ext.cluster.infinispan.impl.CloseableIteratorCollectionStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/vertx/ext/cluster/infinispan/impl/CloseableIteratorCollectionStream<TI;TO;>;
            0   11     2   fut  Lio/vertx/core/Promise<Ljava/lang/Object;>;
            7   10     3  iter  Lorg/infinispan/commons/util/CloseableIterator<TI;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
}
Signature: <I:Ljava/lang/Object;O:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/streams/ReadStream<TO;>;
SourceFile: "CloseableIteratorCollectionStream.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles