void IFieldMergingCallback.FieldMerging(FieldMergingArgs e)
{
if (mBuilder == null)
mBuilder = new DocumentBuilder(e.Document);
// Our custom data source returns topic objects.
Topic topic = (Topic)e.FieldValue;
// We use the document builder to move to the current merge field and insert a hyperlink.
mBuilder.MoveToMergeField(e.FieldName);
mBuilder.InsertHyperlink(topic.Title, topic.FileName, false);
// Signal to the mail merge engine that it does not need to insert text into the field
// As we've done it already.
e.Text = "";
}