List lResultado = new ArrayList();
if (arels != null && !arels.isEmpty()) {
for (Iterator itOrd = ordenacaoTpfaEstrutura.iterator(); itOrd.hasNext();) {
OrdenacaoTpfaEstrutura ord = (OrdenacaoTpfaEstrutura) itOrd.next();
if(ord.getTipoFuncAcomp() != null && !ord.getTipoFuncAcomp().isEmpty()){
/* loop nas funcoes em ordem de filho para pai */
for (Iterator itFunc = ord.getTipoFuncAcomp().iterator(); itFunc.hasNext();) {
TipoFuncAcompTpfa funcao = (TipoFuncAcompTpfa) itFunc.next();
for (Iterator itAcomp = arels.iterator(); itAcomp
.hasNext();) {
AcompRelatorioArel arel = (AcompRelatorioArel) itAcomp.next();
if (arel.getTipoFuncAcompTpfa().getCodTpfa() == funcao.getCodTpfa() && arel.getAcompReferenciaItemAri().getItemEstruturaIett().getEstruturaEtt().equals(ord.getEstrutura())) {
lResultado.add(arel);
}
}
}
}