Suena como una pregunta de código ...
Un ejemplo de esto podría ser cuando tiene listas de listas y necesita procesar cada nivel de la lista de forma recursiva. En el código psuedo esto podría aparecer ...
processList (lista) {
foreach (elemento de la lista) {
si item.haslist ()
processList (item.getList ())
}
}