Iterar nodos TreeView

Estoy usando este código para iterar todos los nodos TreeView.

for (TreeItem<DynamicTreeNodeModel> children1 : children)
                {
                    ObservableList<TreeItem<DynamicTreeNodeModel>> children2 = children1.getChildren();

                    for (TreeItem<DynamicTreeNodeModel> children3 : children2)
                    {
                        ObservableList<TreeItem<DynamicTreeNodeModel>> children4 = children3.getChildren();

                        TreeItem<DynamicTreeNodeModel> tempValue = null;

                        for (TreeItem<DynamicTreeNodeModel> children5 : children4)
                        {
                            // some logic
                        }
                    }
                }

¿Hay alguna forma mejor de acceder a los nodos de bajo nivel de TreeView?

Respuestas a la pregunta(2)

Su respuesta a la pregunta