lgoritmo C # para gerar hierarqu

Eu tenho um arquivo de texto que fica assim:

{ Id = 1, ParentId = 0, Position = 0, Title = "root" }
{ Id = 2, ParentId = 1, Position = 0, Title = "child 1" }
{ Id = 3, ParentId = 1, Position = 1, Title = "child 2" }
{ Id = 4, ParentId = 1, Position = 2, Title = "child 3" }
{ Id = 5, ParentId = 4, Position = 0, Title = "grandchild 1" }

Estou procurando um algoritmo C # genérico que criará uma hierarquia de objetos a partir disso. Uma função "Hierarquizar", se desejar, que transforma esses dados em uma hierarquia de objetos.

Alguma ideia

edita Eu já analisei o arquivo em objetos .NET:

class Node
{
    public int Id { get; }
    public int ParentId { get; }
    public int Position { get; }
    public string Title { get; }
}

gora, eu preciso organizar os objetos em um gráfico de objeto

questionAnswers(14)

yourAnswerToTheQuestion