public final class io.reactivex.internal.operators.single.SingleUsing<T, U> extends io.reactivex.Single<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.single.SingleUsing
  super_class: io.reactivex.Single
{
  final java.util.concurrent.Callable<U> resourceSupplier;
    descriptor: Ljava/util/concurrent/Callable;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/concurrent/Callable<TU;>;

  final io.reactivex.functions.Function<? super U, ? extends io.reactivex.SingleSource<? extends T>> singleFunction;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-TU;+Lio/reactivex/SingleSource<+TT;>;>;

  final io.reactivex.functions.Consumer<? super U> disposer;
    descriptor: Lio/reactivex/functions/Consumer;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Consumer<-TU;>;

  final boolean eager;
    descriptor: Z
    flags: (0x0010) ACC_FINAL

  public void <init>(java.util.concurrent.Callable<U>, io.reactivex.functions.Function<? super U, ? extends io.reactivex.SingleSource<? extends T>>, io.reactivex.functions.Consumer<? super U>, );
    descriptor: (Ljava/util/concurrent/Callable;Lio/reactivex/functions/Function;Lio/reactivex/functions/Consumer;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.reactivex.internal.operators.single.SingleUsing this
        start local 1 // java.util.concurrent.Callable resourceSupplier
        start local 2 // io.reactivex.functions.Function singleFunction
        start local 3 // io.reactivex.functions.Consumer disposer
        start local 4 // boolean eager
         0: .line 34
            aload 0 /* this */
            invokespecial io.reactivex.Single.<init>:()V
         1: .line 38
            aload 0 /* this */
            aload 1 /* resourceSupplier */
            putfield io.reactivex.internal.operators.single.SingleUsing.resourceSupplier:Ljava/util/concurrent/Callable;
         2: .line 39
            aload 0 /* this */
            aload 2 /* singleFunction */
            putfield io.reactivex.internal.operators.single.SingleUsing.singleFunction:Lio/reactivex/functions/Function;
         3: .line 40
            aload 0 /* this */
            aload 3 /* disposer */
            putfield io.reactivex.internal.operators.single.SingleUsing.disposer:Lio/reactivex/functions/Consumer;
         4: .line 41
            aload 0 /* this */
            iload 4 /* eager */
            putfield io.reactivex.internal.operators.single.SingleUsing.eager:Z
         5: .line 42
            return
        end local 4 // boolean eager
        end local 3 // io.reactivex.functions.Consumer disposer
        end local 2 // io.reactivex.functions.Function singleFunction
        end local 1 // java.util.concurrent.Callable resourceSupplier
        end local 0 // io.reactivex.internal.operators.single.SingleUsing this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lio/reactivex/internal/operators/single/SingleUsing<TT;TU;>;
            0    6     1  resourceSupplier  Ljava/util/concurrent/Callable<TU;>;
            0    6     2    singleFunction  Lio/reactivex/functions/Function<-TU;+Lio/reactivex/SingleSource<+TT;>;>;
            0    6     3          disposer  Lio/reactivex/functions/Consumer<-TU;>;
            0    6     4             eager  Z
    Signature: (Ljava/util/concurrent/Callable<TU;>;Lio/reactivex/functions/Function<-TU;+Lio/reactivex/SingleSource<+TT;>;>;Lio/reactivex/functions/Consumer<-TU;>;Z)V
    MethodParameters:
                  Name  Flags
      resourceSupplier  
      singleFunction    
      disposer          
      eager             

  protected void subscribeActual(io.reactivex.SingleObserver<? super T>);
    descriptor: (Lio/reactivex/SingleObserver;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // io.reactivex.internal.operators.single.SingleUsing this
        start local 1 // io.reactivex.SingleObserver observer
         0: .line 50
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.resourceSupplier:Ljava/util/concurrent/Callable;
            invokeinterface java.util.concurrent.Callable.call:()Ljava/lang/Object;
            astore 2 /* resource */
        start local 2 // java.lang.Object resource
         1: .line 51
            goto 6
        end local 2 // java.lang.Object resource
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
         3: .line 52
            aload 3 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
         4: .line 53
            aload 3 /* ex */
            aload 1 /* observer */
            invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/SingleObserver;)V
         5: .line 54
            return
        end local 3 // java.lang.Throwable ex
        start local 2 // java.lang.Object resource
         6: .line 60
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.singleFunction:Lio/reactivex/functions/Function;
            aload 2 /* resource */
            invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.reactivex.SingleSource
            ldc "The singleFunction returned a null SingleSource"
            invokestatic io.reactivex.internal.functions.ObjectHelper.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.reactivex.SingleSource
            astore 3 /* source */
        start local 3 // io.reactivex.SingleSource source
         7: .line 61
            goto 24
        end local 3 // io.reactivex.SingleSource source
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         9: .line 62
            aload 4 /* ex */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        10: .line 64
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.eager:Z
            ifeq 16
        11: .line 66
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.disposer:Lio/reactivex/functions/Consumer;
            aload 2 /* resource */
            invokeinterface io.reactivex.functions.Consumer.accept:(Ljava/lang/Object;)V
        12: .line 67
            goto 16
      StackMap locals: io.reactivex.internal.operators.single.SingleUsing io.reactivex.SingleObserver java.lang.Object top java.lang.Throwable
      StackMap stack: java.lang.Throwable
        13: astore 5 /* exc */
        start local 5 // java.lang.Throwable exc
        14: .line 68
            aload 5 /* exc */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        15: .line 69
            new io.reactivex.exceptions.CompositeException
            dup
            iconst_2
            anewarray java.lang.Throwable
            dup
            iconst_0
            aload 4 /* ex */
            aastore
            dup
            iconst_1
            aload 5 /* exc */
            aastore
            invokespecial io.reactivex.exceptions.CompositeException.<init>:([Ljava/lang/Throwable;)V
            astore 4 /* ex */
        end local 5 // java.lang.Throwable exc
        16: .line 72
      StackMap locals:
      StackMap stack:
            aload 4 /* ex */
            aload 1 /* observer */
            invokestatic io.reactivex.internal.disposables.EmptyDisposable.error:(Ljava/lang/Throwable;Lio/reactivex/SingleObserver;)V
        17: .line 73
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.eager:Z
            ifne 23
        18: .line 75
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.disposer:Lio/reactivex/functions/Consumer;
            aload 2 /* resource */
            invokeinterface io.reactivex.functions.Consumer.accept:(Ljava/lang/Object;)V
        19: .line 76
            goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 5 /* exc */
        start local 5 // java.lang.Throwable exc
        21: .line 77
            aload 5 /* exc */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        22: .line 78
            aload 5 /* exc */
            invokestatic io.reactivex.plugins.RxJavaPlugins.onError:(Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable exc
        23: .line 81
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Throwable ex
        start local 3 // io.reactivex.SingleSource source
        24: .line 84
      StackMap locals: io.reactivex.internal.operators.single.SingleUsing io.reactivex.SingleObserver java.lang.Object io.reactivex.SingleSource
      StackMap stack:
            aload 3 /* source */
            new io.reactivex.internal.operators.single.SingleUsing$UsingSingleObserver
            dup
            aload 1 /* observer */
            aload 2 /* resource */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.eager:Z
            aload 0 /* this */
            getfield io.reactivex.internal.operators.single.SingleUsing.disposer:Lio/reactivex/functions/Consumer;
            invokespecial io.reactivex.internal.operators.single.SingleUsing$UsingSingleObserver.<init>:(Lio/reactivex/SingleObserver;Ljava/lang/Object;ZLio/reactivex/functions/Consumer;)V
            invokeinterface io.reactivex.SingleSource.subscribe:(Lio/reactivex/SingleObserver;)V
        25: .line 85
            return
        end local 3 // io.reactivex.SingleSource source
        end local 2 // java.lang.Object resource
        end local 1 // io.reactivex.SingleObserver observer
        end local 0 // io.reactivex.internal.operators.single.SingleUsing this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Lio/reactivex/internal/operators/single/SingleUsing<TT;TU;>;
            0   26     1  observer  Lio/reactivex/SingleObserver<-TT;>;
            1    2     2  resource  TU;
            6   26     2  resource  TU;
            3    6     3        ex  Ljava/lang/Throwable;
            7    8     3    source  Lio/reactivex/SingleSource<+TT;>;
           24   26     3    source  Lio/reactivex/SingleSource<+TT;>;
            9   24     4        ex  Ljava/lang/Throwable;
           14   16     5       exc  Ljava/lang/Throwable;
           21   23     5       exc  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
           6     7       8  Class java.lang.Throwable
          11    12      13  Class java.lang.Throwable
          18    19      20  Class java.lang.Throwable
    Signature: (Lio/reactivex/SingleObserver<-TT;>;)V
    MethodParameters:
          Name  Flags
      observer  final
}
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;>Lio/reactivex/Single<TT;>;
SourceFile: "SingleUsing.java"
NestMembers:
  io.reactivex.internal.operators.single.SingleUsing$UsingSingleObserver
InnerClasses:
  final UsingSingleObserver = io.reactivex.internal.operators.single.SingleUsing$UsingSingleObserver of io.reactivex.internal.operators.single.SingleUsing