Remover todas as ocorrências de um elemento recebido por parâmetro, exceto a última ocorrência

Olá! Preciso implementar um método boolean removeAllButLast (int elem) dentro da classe abaixo:
Este método deve remover todas as ocorrências de um elemento recebido por parâmetro, exceto a última ocorrência. Se houver apenas uma ocorrência, o método não remove.

class DoubleLinkedListOfInteger
Node header
Node trailer
int count
void add (int element)
void add (int index, int element)
int get (int index)
int set (int index, int element)
boolean remove (int element)
int removeByIndex (int index)
boolean isEmpty ( )
int size ( )
boolean contains (int element)
int indexOf (int element)
void clear ( )
boolean removeAllButLast (int elem)

não entendi mas acho q vc teria de criar uma lista e criar uma condição de excluir elementos