class java.util.stream.WhileOps$4Op$1OpSink extends java.util.stream.Sink$ChainedDouble<java.lang.Double> implements java.util.stream.WhileOps$DropWhileSink<java.lang.Double>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.stream.WhileOps$4Op$1OpSink
  super_class: java.util.stream.Sink$ChainedDouble
{
  long dropCount;
    descriptor: J
    flags: (0x0000) 

  boolean take;
    descriptor: Z
    flags: (0x0000) 

  final java.util.stream.WhileOps$4Op this$1;
    descriptor: Ljava/util/stream/WhileOps$4Op;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

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

  private final boolean val$retainAndCountDroppedElements;
    descriptor: Z
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(java.util.stream.WhileOps$4Op, java.util.stream.Sink, java.util.function.DoublePredicate, boolean);
    descriptor: (Ljava/util/stream/WhileOps$4Op;Ljava/util/stream/Sink;Ljava/util/function/DoublePredicate;Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.util.stream.WhileOps$4Op$1OpSink this
         0: .line 595
            aload 0 /* this */
            aload 1
            putfield java.util.stream.WhileOps$4Op$1OpSink.this$1:Ljava/util/stream/WhileOps$4Op;
            aload 0 /* this */
            aload 3
            putfield java.util.stream.WhileOps$4Op$1OpSink.val$predicate:Ljava/util/function/DoublePredicate;
            aload 0 /* this */
            iload 4
            putfield java.util.stream.WhileOps$4Op$1OpSink.val$retainAndCountDroppedElements:Z
         1: .line 596
            aload 0 /* this */
            aload 2
            invokespecial java.util.stream.Sink$ChainedDouble.<init>:(Ljava/util/stream/Sink;)V
         2: .line 597
            return
        end local 0 // java.util.stream.WhileOps$4Op$1OpSink this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/util/stream/WhileOps$4Op$1OpSink;
    MethodParameters:
                                   Name  Flags
      this$0                             final
      val$sink                           final
      val$predicate                      final
      val$retainAndCountDroppedElements  final

  public void accept(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.stream.WhileOps$4Op$1OpSink this
        start local 1 // double t
         0: .line 601
            aload 0 /* this */
            getfield java.util.stream.WhileOps$4Op$1OpSink.take:Z
            ifne 3
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.stream.WhileOps$4Op$1OpSink.val$predicate:Ljava/util/function/DoublePredicate;
            dload 1 /* t */
            invokeinterface java.util.function.DoublePredicate.test:(D)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: java.util.stream.WhileOps$4Op$1OpSink
         1: iconst_1
      StackMap locals: java.util.stream.WhileOps$4Op$1OpSink double
      StackMap stack: java.util.stream.WhileOps$4Op$1OpSink int
         2: dup_x1
            putfield java.util.stream.WhileOps$4Op$1OpSink.take:Z
            ifne 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* takeElement */
        start local 3 // boolean takeElement
         5: .line 605
            aload 0 /* this */
            getfield java.util.stream.WhileOps$4Op$1OpSink.val$retainAndCountDroppedElements:Z
            ifeq 7
            iload 3 /* takeElement */
            ifne 7
         6: .line 606
            aload 0 /* this */
            dup
            getfield java.util.stream.WhileOps$4Op$1OpSink.dropCount:J
            lconst_1
            ladd
            putfield java.util.stream.WhileOps$4Op$1OpSink.dropCount:J
         7: .line 610
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.WhileOps$4Op$1OpSink.val$retainAndCountDroppedElements:Z
            ifne 8
            iload 3 /* takeElement */
            ifeq 9
         8: .line 611
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.stream.WhileOps$4Op$1OpSink.downstream:Ljava/util/stream/Sink;
            dload 1 /* t */
            invokeinterface java.util.stream.Sink.accept:(D)V
         9: .line 612
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean takeElement
        end local 1 // double t
        end local 0 // java.util.stream.WhileOps$4Op$1OpSink this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljava/util/stream/WhileOps$4Op$1OpSink;
            0   10     1            t  D
            5   10     3  takeElement  Z
    MethodParameters:
      Name  Flags
      t     

  public long getDropCount();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.stream.WhileOps$4Op$1OpSink this
         0: .line 616
            aload 0 /* this */
            getfield java.util.stream.WhileOps$4Op$1OpSink.dropCount:J
            lreturn
        end local 0 // java.util.stream.WhileOps$4Op$1OpSink this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/stream/WhileOps$4Op$1OpSink;
}
Signature: Ljava/util/stream/Sink$ChainedDouble<Ljava/lang/Double;>;Ljava/util/stream/WhileOps$DropWhileSink<Ljava/lang/Double;>;
SourceFile: "WhileOps.java"
EnclosingMethod: java.util.stream.WhileOps$4Op.opWrapSink:(Ljava/util/stream/Sink;Z)Ljava/util/stream/WhileOps$DropWhileSink;
NestHost: java.util.stream.WhileOps
InnerClasses:
  public abstract ChainedDouble = java.util.stream.Sink$ChainedDouble of java.util.stream.Sink
  Op = java.util.stream.WhileOps$4Op
  OpSink = java.util.stream.WhileOps$4Op$1OpSink
  abstract DropWhileSink = java.util.stream.WhileOps$DropWhileSink of java.util.stream.WhileOps