The RadDiagram has a few very handy extension methods that you can use to achieve such a List.
public static IEnumerable<IConnection> GetOutgoingConnectionsForShape(this IGraph graph, IShape shape)
...
public static IEnumerable<IConnection> GetIncomingConnectionsForShape(this IGraph graph, IShape shape)
So you can easily query the Diagram to build such, just use this methods in a loop or recursion method.
Please let us know if you have any questions regarding their usage.
Regards,
Miro Miroslavov
the Telerik team