GoXmlTransformer problem

Hi there. I'm kind of a newbie so please be gentle
I'm creating a simple processing application that is using a chart based on the Flowgrammer example. I'm having trouble saving then reloading a chart because I am losing the IGoNode.Destinations information.
I will present a few modificaitons to the Flowgrammer example which will help describe my problem without alot of my own code. I'm pretty sure I'm just missing something really simple in the: GoXmlTransformer.ConsumeAttributes() override for the TransformChartLink class.
but cant seem to figure it out.
I define the 'Start' ChartNode from the example to be the RootNode when I initialize my ChartDoc.

public class ChartDoc : GoDocument
{
public GoTextNode RootNode = null;
:
public void Initialize()
{
GoTextNode start = new ChartNode(NodeKind.Start);
start.Text = "Start";
Add(start);
RootNode = start;<?:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

:


I add a TraverseButton and an OutputTextBox to the Form1 interface and then to traverse the Chart I just do something like this:

private void TraverseButton_Click(object sender, EventArgs e)
{
DisplayDestinationInfo(goView1.Doc.RootNode);
{

void DisplayDestinationInfo(IGoNode node)
{
foreach (IGoNode next in node.Destinations)
{
ChartNode chrtNode = next as ChartNode;
if (chrtNode != null)
{
Info nInfo = chrtNode.Info;
if (nInfo != null)
OutputTextBox.Text += "chrtNode.Info.Label: " + chrtNode.Info.Label + Environment.NewLine;
}
DisplayDestinationInfo(next);
}
}

If I drag a number of nodes that have Info (i.e. ActionNodes) to the chart and click my TraverseButton the IGoNode.Destinations are all intact and the traversal of the tree is as expected. But when I save to a file and then reload my IGoNode.Destinations are not re-instated. It must be missing something simple or need to write/read more info for my nodes or links?!
To illustrate I'm stuck here:

public class TransformChartLink : GoXmlTransformer

{
:
public override void ConsumeAttributes(Object obj)

{

base.ConsumeAttributes(obj);

ChartLink link = (ChartLink)obj;

ChartNode from = null;

String fromid = StringAttr("from", null);

if (fromid != null)

{

from = this.Reader.FindShared(fromid) as ChartNode;

:

}

String toid = StringAttr("to", null);

ChartNode to = null;

if (toid != null)

{

to = this.Reader.FindShared(toid) as ChartNode;

:

}

if (from != null && to != null)

{

IGoNode gn = from as IGoNode;

// ?? how add 'to' Node to from.Destinations

}

Just setting the Link FromPort and ToPort (the way the Flowgrammer sample TransformChartLink does) should be enough for IGoNode.Destinations to work properly.

You are absolutely right. Thanks for confirming that. I should have never posted in frustration. I was not obtaining my RootNode correctly after loading my chart file . After i posted, i tested what i had written (my application has a rather complicated hierarchy of ActionNodes now) and it worked!

love the product by the way. gotta a prototype demo this week which should prompt a purchase. also, glad to see you guys are on top of the forum! ~Wes