Fala galera
Preciso montar um array com um Organograma de empresas pela área e tenho a seguinte classe para essas areas
public class UnidadeOrganizacional {
private int idUnidadeOrganizacional;
private Organizacao organizacao;
private UnidadeOrganizacional unidadeOrganizacional;
private String unoDescricao;
private String unoFlagTipo;
}
Então por exemplo, precisaria de uma função recursiva que recebesse um array flat, com todas as áreas ( Unidade Organizacionais ) e retornasse um array formatado hierarquicamente de acordo com as areas / sub areas…
Suponha a seguinte Hierarquia
Empresa 1
-> Area 1
-> Area 1.1
-> Area 1.1.1
-> Area 2
-> Area 2.2
Empresa 2
-> Area 3
->Area 3.3
Esse seria um esboço geral, o meu pensamento em função das classes / objetos ficaria assim
Collection Organograma<Object>
Collection<Organizacao>
Objeto 1 -> Organizacao
Objeto 2 -> Collection<UnidadeOrganizacional>
Objeto 2.1 Collection<UnidadeOrganizacional>
Objeto 2.1.1 UnidadeOrganizacional
Collection<Organizacao>
Objeto 1 -> Organizacao
Objeto 2 -> Collection<UnidadeOrganizacional>
Objeto 2.1 UnidadeOrganizacional
Alguém com a cabeça fresquinha para fazer recursividade ai pode dar uma mão? Acho que ando trabalhando tanto ultimamente que to meio travado para conseguir fazer essa recursividade 
Desde já, agradeço