Witam mam taki obiekt

private String name;
private Rank parent;

public Rank(String name){
    this.name = name;
}

Teraz w jaki sposób rozwiązać problem, gdy posiadam 2 takie obiekty i obiekt RankA ma ustawione, że obiekt RankB jest jego "Parentem", chce te oba obiekty załadować do listy.
Obawiam się, że będę musiał zrobić 2 osobne pętle po otrzymanych danych. Jak rozwiązujecie takie problemy Uznajmy dla przykładu, że istnieje RankC, który jest dzieckiem RankB