Salve,
devo fare un metodo che data una lista cancelli quei valori minori di da quel numero in poi minori di esso

es: lista 15 - 4 - 12 - 24 - 8 - 3 -16 dato il valore 12 restituisce la
lista 15 - 4 - 12 - 16

ho iniziato ad impostarlo così:

codice:
public boolean cancellaTuttiMinoriDopoVal(int val) {
    boolean canc = false;

    if(first == null) {
        return canc;
        }

    ListElem iterator = first;

    while(iterator.next != null) {
            if(iterator.next.dato < val) {
                iterator.next=iterator.next.next;
                canc = true;
            }
            System.out.println("dato saltato: "+iterator.next.dato);
              iterator = iterator.next;
          }


    if(first.dato < val) {
            first=first.next;
            }

            return canc;

    }
però non riesco a capire come devo fare ad iniziare a cancellare raggiunto il valore poi non capisco perchè se mettodo due numeri minori vicini me ne cancella solamente uno!

Grazie