public final class io.reactivex.internal.operators.flowable.FlowableGroupBy<T, K, V> extends io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream<T, io.reactivex.flowables.GroupedFlowable<K, V>>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.reactivex.internal.operators.flowable.FlowableGroupBy
  super_class: io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream
{
  final io.reactivex.functions.Function<? super T, ? extends K> keySelector;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-TT;+TK;>;

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

  final int bufferSize;
    descriptor: I
    flags: (0x0010) ACC_FINAL

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

  final io.reactivex.functions.Function<? super io.reactivex.functions.Consumer<java.lang.Object>, ? extends java.util.Map<K, java.lang.Object>> mapFactory;
    descriptor: Lio/reactivex/functions/Function;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/reactivex/functions/Function<-Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;+Ljava/util/Map<TK;Ljava/lang/Object;>;>;

  public void <init>(io.reactivex.Flowable<T>, io.reactivex.functions.Function<? super T, ? extends K>, io.reactivex.functions.Function<? super T, ? extends V>, int, boolean, io.reactivex.functions.Function<? super io.reactivex.functions.Consumer<java.lang.Object>, ? extends java.util.Map<K, java.lang.Object>>);
    descriptor: (Lio/reactivex/Flowable;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;IZLio/reactivex/functions/Function;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=7
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy this
        start local 1 // io.reactivex.Flowable source
        start local 2 // io.reactivex.functions.Function keySelector
        start local 3 // io.reactivex.functions.Function valueSelector
        start local 4 // int bufferSize
        start local 5 // boolean delayError
        start local 6 // io.reactivex.functions.Function mapFactory
         0: .line 46
            aload 0 /* this */
            aload 1 /* source */
            invokespecial io.reactivex.internal.operators.flowable.AbstractFlowableWithUpstream.<init>:(Lio/reactivex/Flowable;)V
         1: .line 47
            aload 0 /* this */
            aload 2 /* keySelector */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.keySelector:Lio/reactivex/functions/Function;
         2: .line 48
            aload 0 /* this */
            aload 3 /* valueSelector */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.valueSelector:Lio/reactivex/functions/Function;
         3: .line 49
            aload 0 /* this */
            iload 4 /* bufferSize */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.bufferSize:I
         4: .line 50
            aload 0 /* this */
            iload 5 /* delayError */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.delayError:Z
         5: .line 51
            aload 0 /* this */
            aload 6 /* mapFactory */
            putfield io.reactivex.internal.operators.flowable.FlowableGroupBy.mapFactory:Lio/reactivex/functions/Function;
         6: .line 52
            return
        end local 6 // io.reactivex.functions.Function mapFactory
        end local 5 // boolean delayError
        end local 4 // int bufferSize
        end local 3 // io.reactivex.functions.Function valueSelector
        end local 2 // io.reactivex.functions.Function keySelector
        end local 1 // io.reactivex.Flowable source
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy<TT;TK;TV;>;
            0    7     1         source  Lio/reactivex/Flowable<TT;>;
            0    7     2    keySelector  Lio/reactivex/functions/Function<-TT;+TK;>;
            0    7     3  valueSelector  Lio/reactivex/functions/Function<-TT;+TV;>;
            0    7     4     bufferSize  I
            0    7     5     delayError  Z
            0    7     6     mapFactory  Lio/reactivex/functions/Function<-Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;+Ljava/util/Map<TK;Ljava/lang/Object;>;>;
    Signature: (Lio/reactivex/Flowable<TT;>;Lio/reactivex/functions/Function<-TT;+TK;>;Lio/reactivex/functions/Function<-TT;+TV;>;IZLio/reactivex/functions/Function<-Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;+Ljava/util/Map<TK;Ljava/lang/Object;>;>;)V
    MethodParameters:
               Name  Flags
      source         
      keySelector    
      valueSelector  
      bufferSize     
      delayError     
      mapFactory     

  protected void subscribeActual(org.reactivestreams.Subscriber<? super io.reactivex.flowables.GroupedFlowable<K, V>>);
    descriptor: (Lorg/reactivestreams/Subscriber;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=5, args_size=2
        start local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy this
        start local 1 // org.reactivestreams.Subscriber s
         0: .line 62
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.mapFactory:Lio/reactivex/functions/Function;
            ifnonnull 4
         1: .line 63
            aconst_null
            astore 3 /* evictedGroups */
        start local 3 // java.util.Queue evictedGroups
         2: .line 64
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            astore 2 /* groups */
        start local 2 // java.util.Map groups
         3: .line 65
            goto 13
        end local 3 // java.util.Queue evictedGroups
        end local 2 // java.util.Map groups
         4: .line 66
      StackMap locals:
      StackMap stack:
            new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
            astore 3 /* evictedGroups */
        start local 3 // java.util.Queue evictedGroups
         5: .line 67
            new io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction
            dup
            aload 3 /* evictedGroups */
            invokespecial io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction.<init>:(Ljava/util/Queue;)V
            astore 4 /* evictionAction */
        start local 4 // io.reactivex.functions.Consumer evictionAction
         6: .line 68
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.mapFactory:Lio/reactivex/functions/Function;
            aload 4 /* evictionAction */
            invokeinterface io.reactivex.functions.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* groups */
        end local 4 // io.reactivex.functions.Consumer evictionAction
        start local 2 // java.util.Map groups
         7: .line 70
            goto 13
        end local 3 // java.util.Queue evictedGroups
        end local 2 // java.util.Map groups
      StackMap locals:
      StackMap stack: java.lang.Exception
         8: astore 4 /* e */
        start local 4 // java.lang.Exception e
         9: .line 71
            aload 4 /* e */
            invokestatic io.reactivex.exceptions.Exceptions.throwIfFatal:(Ljava/lang/Throwable;)V
        10: .line 72
            aload 1 /* s */
            getstatic io.reactivex.internal.util.EmptyComponent.INSTANCE:Lio/reactivex/internal/util/EmptyComponent;
            invokeinterface org.reactivestreams.Subscriber.onSubscribe:(Lorg/reactivestreams/Subscription;)V
        11: .line 73
            aload 1 /* s */
            aload 4 /* e */
            invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
        12: .line 74
            return
        end local 4 // java.lang.Exception e
        start local 2 // java.util.Map groups
        start local 3 // java.util.Queue evictedGroups
        13: .line 77
      StackMap locals: java.util.Map java.util.Queue
      StackMap stack:
            new io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber
            dup
            aload 1 /* s */
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.keySelector:Lio/reactivex/functions/Function;
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.valueSelector:Lio/reactivex/functions/Function;
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.bufferSize:I
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.delayError:Z
            aload 2 /* groups */
            aload 3 /* evictedGroups */
            invokespecial io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber.<init>:(Lorg/reactivestreams/Subscriber;Lio/reactivex/functions/Function;Lio/reactivex/functions/Function;IZLjava/util/Map;Ljava/util/Queue;)V
        14: .line 76
            astore 4 /* subscriber */
        start local 4 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber subscriber
        15: .line 78
            aload 0 /* this */
            getfield io.reactivex.internal.operators.flowable.FlowableGroupBy.source:Lio/reactivex/Flowable;
            aload 4 /* subscriber */
            invokevirtual io.reactivex.Flowable.subscribe:(Lio/reactivex/FlowableSubscriber;)V
        16: .line 79
            return
        end local 4 // io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber subscriber
        end local 3 // java.util.Queue evictedGroups
        end local 2 // java.util.Map groups
        end local 1 // org.reactivestreams.Subscriber s
        end local 0 // io.reactivex.internal.operators.flowable.FlowableGroupBy this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lio/reactivex/internal/operators/flowable/FlowableGroupBy<TT;TK;TV;>;
            0   17     1               s  Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
            3    4     2          groups  Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
            7    8     2          groups  Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
           13   17     2          groups  Ljava/util/Map<Ljava/lang/Object;Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
            2    4     3   evictedGroups  Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
            5    8     3   evictedGroups  Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
           13   17     3   evictedGroups  Ljava/util/Queue<Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupedUnicast<TK;TV;>;>;
            6    7     4  evictionAction  Lio/reactivex/functions/Consumer<Ljava/lang/Object;>;
            9   13     4               e  Ljava/lang/Exception;
           15   17     4      subscriber  Lio/reactivex/internal/operators/flowable/FlowableGroupBy$GroupBySubscriber<TT;TK;TV;>;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Exception
    Signature: (Lorg/reactivestreams/Subscriber<-Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;)V
    MethodParameters:
      Name  Flags
      s     
}
Signature: <T:Ljava/lang/Object;K:Ljava/lang/Object;V:Ljava/lang/Object;>Lio/reactivex/internal/operators/flowable/AbstractFlowableWithUpstream<TT;Lio/reactivex/flowables/GroupedFlowable<TK;TV;>;>;
SourceFile: "FlowableGroupBy.java"
NestMembers:
  io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction  io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber  io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast  io.reactivex.internal.operators.flowable.FlowableGroupBy$State
InnerClasses:
  final EvictionAction = io.reactivex.internal.operators.flowable.FlowableGroupBy$EvictionAction of io.reactivex.internal.operators.flowable.FlowableGroupBy
  public final GroupBySubscriber = io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupBySubscriber of io.reactivex.internal.operators.flowable.FlowableGroupBy
  final GroupedUnicast = io.reactivex.internal.operators.flowable.FlowableGroupBy$GroupedUnicast of io.reactivex.internal.operators.flowable.FlowableGroupBy
  final State = io.reactivex.internal.operators.flowable.FlowableGroupBy$State of io.reactivex.internal.operators.flowable.FlowableGroupBy