// Path: backport/src/java/util/function/Consumer.java
// public interface Consumer<T> {
//   public void accept(T element);
// }
// 
// Path: backport/src/java/util/function/Function.java
// public interface Function<T, U> {
//   public U apply(T element);
// }
// 
// Path: backport/src/java/util/function/IntFunction.java
// public interface IntFunction<T> {
//   public T apply(int value);
// }
// 
// Path: backport/src/java/util/function/Predicate.java
// public interface Predicate<T> {
//   boolean test(T element);
// }


import java.util.Comparator;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.IntFunction;
import java.util.function.Predicate;
package java.util.stream;


public interface Stream<T> {
  public void forEach(Consumer<? super T> consumer);
  public Stream<T> filter(Predicate<? super T> predicate);
  public Stream<T> sorted();
// Path: backport/src/java/util/function/Consumer.java
// public interface Consumer<T> {
//   public void accept(T element);
// }
// 
// Path: backport/src/java/util/function/Function.java
// public interface Function<T, U> {
//   public U apply(T element);
// }
// 
// Path: backport/src/java/util/function/IntFunction.java
// public interface IntFunction<T> {
//   public T apply(int value);
// }
// 
// Path: backport/src/java/util/function/Predicate.java
// public interface Predicate<T> {
//   boolean test(T element);
// }


// Path: backport/src/java/util/stream/Stream.java
import java.util.Comparator;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.IntFunction;
import java.util.function.Predicate;

package java.util.stream;


public interface Stream<T> {
  public void forEach(Consumer<? super T> consumer);
  public Stream<T> filter(Predicate<? super T> predicate);
  public Stream<T> sorted();
  public <A> A[] toArray(IntFunction<A[]> generator);