Jak przedstawiać zagnieżdżone dane w datatable Primefaces?

Oto mój model:

User.java

public class User {
   //...

   public List<User> getFriends() {
      // ...
   }
}

Chciałbym zbudować tabelę takich znajomych:

users.jsf

+----------+------------+
|   USER   |   FRIENDS  |
+----------+------------+
|          |    ALICE   |
|          +------------+        
|   ADAM   |    BOB     |
|          +------------+
|          |    PITT    |
+----------+------------+
|          |            |
....

Ponieważ jest wielu użytkowników, nie można zrzucić tabeli użytkownika za jednym razem.

Komponent datatable jest idealny w tym przypadku, ponieważ ma wbudowaną obsługę paginacji. Jest to także idealne rozwiązanie, ponieważ możliwe jest sortowanie kolumn ...

Niestety, w przykładach Primefaces nie udało mi się znaleźć sposobu na zmianę rowspan w kolumnach użytkownika.

Jak mogę zbudować ten datatable?

Inne OP mające podobny problem:

Tabela danych pierwotnych / zagnieżdżonych danych JSFJak zrobić tabelę danych zawierającą tabelę podrzędną z Primefaces w tym samym wierszu? Co robisz z moim?Podstawy danychTabela z rowspanem... Dodaj swoje?

EDYTOWAĆ
Tutaj jestostateczne rozwiązanie, które przyszedłem.

questionAnswers(5)

yourAnswerToTheQuestion