Linq expresión de lista anidada

por favor necesito tu ayuda con una expresión de Linq:

He anidado objetos con listas, así es como se ve la jerarquía de objetos principal (cada guión es un atributo de la subclase):

Folder
-name
-List<Subfolder> Subfolders
                 -name
                 -List<Document> Documents
                                 -name
                                 -key

Teniendo esta jerarquía de objetos, tengo un nombre de documento, y quiero buscarlo y devolver su carpeta principal (subcarpeta)

Ejemplo

Folder
    -name: Customer
    -List<Subfolder> Subfolders
                     -name: Personal
                     -List<Document> Documents
                                     -name: Resume
                                     -key : 1

Si dije: "Reanudar", la expresión linq debería devolverme: la subcarpeta "Personal" (el objeto).

Por favor, ayúdenme, debido a las dos listas anidadas que tengo problemas, con una será fácil.

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta