class java.util.stream.ReduceOps$3 extends java.util.stream.ReduceOps$ReduceOp<T, I, java.util.stream.ReduceOps$3ReducingSink>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.stream.ReduceOps$3
  super_class: java.util.stream.ReduceOps$ReduceOp
{
  private final java.util.stream.Collector val$collector;
    descriptor: Ljava/util/stream/Collector;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.function.Supplier val$supplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.function.BiConsumer val$accumulator;
    descriptor: Ljava/util/function/BiConsumer;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final java.util.function.BinaryOperator val$combiner;
    descriptor: Ljava/util/function/BinaryOperator;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(java.util.stream.StreamShape, java.util.stream.Collector, java.util.function.Supplier, java.util.function.BiConsumer, java.util.function.BinaryOperator);
    descriptor: (Ljava/util/stream/StreamShape;Ljava/util/stream/Collector;Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // java.util.stream.ReduceOps$3 this
        start local 1 // java.util.stream.StreamShape $anonymous0
         0: .line 177
            aload 0 /* this */
            aload 2
            putfield java.util.stream.ReduceOps$3.val$collector:Ljava/util/stream/Collector;
            aload 0 /* this */
            aload 3
            putfield java.util.stream.ReduceOps$3.val$supplier:Ljava/util/function/Supplier;
            aload 0 /* this */
            aload 4
            putfield java.util.stream.ReduceOps$3.val$accumulator:Ljava/util/function/BiConsumer;
            aload 0 /* this */
            aload 5
            putfield java.util.stream.ReduceOps$3.val$combiner:Ljava/util/function/BinaryOperator;
            aload 0 /* this */
            aload 1 /* $anonymous0 */
            invokespecial java.util.stream.ReduceOps$ReduceOp.<init>:(Ljava/util/stream/StreamShape;)V
            return
        end local 1 // java.util.stream.StreamShape $anonymous0
        end local 0 // java.util.stream.ReduceOps$3 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Ljava/util/stream/ReduceOps$3;
            0    1     1  $anonymous0  Ljava/util/stream/StreamShape;
    MethodParameters:
                 Name  Flags
      $anonymous0      
      val$collector    final
      val$supplier     final
      val$accumulator  final
      val$combiner     final

  public java.util.stream.ReduceOps$3ReducingSink makeSink();
    descriptor: ()Ljava/util/stream/ReduceOps$3ReducingSink;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.util.stream.ReduceOps$3 this
         0: .line 180
            new java.util.stream.ReduceOps$3ReducingSink
            dup
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$3.val$supplier:Ljava/util/function/Supplier;
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$3.val$accumulator:Ljava/util/function/BiConsumer;
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$3.val$combiner:Ljava/util/function/BinaryOperator;
            invokespecial java.util.stream.ReduceOps$3ReducingSink.<init>:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;)V
            areturn
        end local 0 // java.util.stream.ReduceOps$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/stream/ReduceOps$3;

  public int getOpFlags();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.stream.ReduceOps$3 this
         0: .line 185
            aload 0 /* this */
            getfield java.util.stream.ReduceOps$3.val$collector:Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Collector.characteristics:()Ljava/util/Set;
            getstatic java.util.stream.Collector$Characteristics.UNORDERED:Ljava/util/stream/Collector$Characteristics;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 186
            getstatic java.util.stream.StreamOpFlag.NOT_ORDERED:I
            goto 3
         2: .line 187
      StackMap locals:
      StackMap stack:
            iconst_0
         3: .line 185
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // java.util.stream.ReduceOps$3 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/stream/ReduceOps$3;

  public java.util.stream.ReduceOps$AccumulatingSink makeSink();
    descriptor: ()Ljava/util/stream/ReduceOps$AccumulatingSink;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.util.stream.ReduceOps$3.makeSink:()Ljava/util/stream/ReduceOps$3ReducingSink;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/util/stream/ReduceOps$ReduceOp<TT;TI;Ljava/util/stream/ReduceOps$3ReducingSink;>;
SourceFile: "ReduceOps.java"
EnclosingMethod: java.util.stream.ReduceOps.makeRef:(Ljava/util/stream/Collector;)Ljava/util/stream/TerminalOp;
NestHost: java.util.stream.ReduceOps
InnerClasses:
  public final Characteristics = java.util.stream.Collector$Characteristics of java.util.stream.Collector
  java.util.stream.ReduceOps$3
  ReducingSink = java.util.stream.ReduceOps$3ReducingSink
  private abstract AccumulatingSink = java.util.stream.ReduceOps$AccumulatingSink of java.util.stream.ReduceOps
  private abstract ReduceOp = java.util.stream.ReduceOps$ReduceOp of java.util.stream.ReduceOps