private void ArmarHijos(IPatente patente, long patenteId) { IList <Patente> patentes = autorizacionDal.BuscarTodos(new Dictionary <String, object> { { "fk_patente", patenteId } } ); foreach (Patente p in patentes) { if (p.Tipo == "rama") { PatenteRama pr = new PatenteRama { Id = p.Id, Codigo = p.Codigo, }; ArmarHijos(pr, pr.Id); patente.agregarHijo(pr); } else { patente.agregarHijo(p); } } }