// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

package j$.util.stream;

public class IntStream {

  public static java.util.stream.IntStream wrap_convert(j$.util.stream.IntStream stream) {
    return null;
  }

  public static j$.util.stream.IntStream wrap_convert(java.util.stream.IntStream stream) {
    return null;
  }
}
