Obtener el primer elemento que coincide con los criterios

¿Cómo obtener el primer elemento que coincide con un criterio en una secuencia? He intentado esto pero no funciona

this.stops.stream().filter(Stop s-> s.getStation().getName().equals(name));

Ese criterio no funciona, el método de filtro se invoca en una clase distinta de Stop.

public class Train {

private final String name;
private final SortedSet<Stop> stops;

public Train(String name) {
    this.name = name;
    this.stops = ,new TreeSet<Stop>();
}

public void addStop(Stop stop) {
    this.stops.add(stop);
}

public Stop getFirstStation() {
    return this.getStops().first();
}

public Stop getLastStation() {
    return this.getStops().last();
}

public SortedSet<Stop> getStops() {
    return stops;
}

public SortedSet<Stop> getStopsAfter(String name) {


    // return this.stops.subSet(, toElement);
    return null;
}
}


import java.util.ArrayList;
import java.util.List;

public class Station {
private final String name;
private final List<Stop> stops;

public Station(String name) {
    this.name = name;
    this.stops = new ArrayList<Stop>();

}

public String getName() {
    return name;
}

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta