public GPCustomTreeNode Repeat(int n)
{
GPCustomTreeNode t = this.Clone() as GPCustomTreeNode;
GPCustomTreeNode root = new GPCustomTreeNode(new NoteGene(0, 0, 0, NoteGene.FunctionTypes.Concatenation, GPGeneType.Function));
while(n>0)
{
root.Children = new List<GPCustomTreeNode>();
root.Children.Add(this.Clone() as GPCustomTreeNode);
root.Children.Add(new GPCustomTreeNode(new NoteGene(0, 0, 0, NoteGene.FunctionTypes.Concatenation, GPGeneType.Function)));
root = root.Children[1];
n--;
}
return root;
}