Implementación de árbol en Java (root, padres e hijos)

Necesito crear una estructura de árbol similar a la imagen adjunta en Java. He encontrado algunas preguntas relacionadas con esta, pero no he encontrado una respuesta convincente y bien explicada. El negocio de la aplicación consiste en súper categorías de alimentos (platos principales, postres y otros). Cada una de estas categorías puede tener elementos principales o elementos secundarios, etc.

Respuestas a la pregunta(7)

Su respuesta a la pregunta