@Override
  @ForceInline
  public Stream<T> peek(Consumer<? super T> action) {
    int op = OP_PEEK;
    Object lambda = action;
    int op0 = this.op0;
    Object lambda0 = this.lambda0;
    int op1 = this.op1;
    Object lambda1 = this.lambda1;
    int op2 = this.op2;
    Object lambda2 = this.lambda2;
    int op3 = this.op3;
    Object lambda3 = this.lambda3;
    int op4 = this.op4;
    Object lambda4 = this.lambda4;
    int op5 = this.op5;
    Object lambda5 = this.lambda5;
    int op6 = this.op6;
    Object lambda6 = this.lambda6;
    int op7 = this.op7;
    Object lambda7 = this.lambda7;
    if (op0 == 0) { op0 = op; lambda0 = lambda; } else
      if (op1 == 0) { op1 = op; lambda1 = lambda; } else
        if (op2 == 0) { op2 = op; lambda2 = lambda; } else
          if (op3 == 0) { op3 = op; lambda3 = lambda; } else
            if (op4 == 0) { op4 = op; lambda4 = lambda; } else
              if (op5 == 0) { op5 = op; lambda5 = lambda; } else
                if (op6 == 0) { op6 = op; lambda6 = lambda; } else
                  if (op7 == 0) { op7 = op; lambda7 = lambda; } else
                    throwUOE();
    return new EscapableStream<>(iterable,
        op0, op1, op2, op3, op4, op5, op6, op7,
        lambda0, lambda1, lambda2, lambda3, lambda4, lambda5, lambda6, lambda7);
  }