private ActorNode BuildStep( Framework.Parts.IActor actor ) { if (actor != null) { ActorNode newNode = new ActorNode(); newNode.Text = actor.Name; newNode.ToolTipText = actor.TypeName; newNode.Actor = actor; Framework.Parts.IActorCollection collection = actor.QueryInterface<Framework.Parts.IActorCollection>(); if (collection != null) { foreach (Framework.Parts.IActor a in collection) { newNode.Nodes.Add(BuildStep(a)); } } return newNode; } return null; }