Using a method reference to refer to the abstract method of the target type is unnecessary. For example,

Stream<Integer> filter(Stream<Integer> xs, Predicate<Integer> predicate) {
  return xs.filter(predicate::test);
}
Stream<Integer> filter(Stream<Integer> xs, Predicate<Integer> predicate) {
  return xs.filter(predicate);
}