private static void Trim(GPCustomTreeNode node, int level)
{
// check if the node has children
if (node.Children != null)
{
if (level == 0)
{
// remove all children
node.Children = null;
// and make the node of argument type
node.Gene.Generate(GPGeneType.Argument);
}
else
{
// go further to children
foreach (GPCustomTreeNode n in node.Children)
{
Trim(n, level - 1);
}
}
}
}