Como remover duplicatas de uma lista baseada em um objeto java personalizado e não em um tipo primitivo?

Antes de postar esta pergunta, encontrei alguma pergunta semelhante postadaAqui. Mas a resposta foi baseada em uma String. No entanto, tenho uma situação diferente aqui. Eu não estou tentando remover String, mas outro objeto chamado AwardYearSource. Esta classe tem um atributo int chamado ano. Por isso, quero remover duplicatas com base no ano. ou seja, se houver o ano de 2010 mencionado mais de uma vez, eu quero remover esse objeto AwardYearSource. Como eu posso fazer isso?

questionAnswers(7)

yourAnswerToTheQuestion