public object Clone( )
{
GPTreeNode clone = new GPTreeNode( );
// clone gene
clone.Gene = this.Gene.Clone( );
// clone its children
if ( this.Children != null )
{
clone.Children = new List<GPTreeNode>( );
// clone each child gene
foreach ( GPTreeNode node in Children )
{
clone.Children.Add( (GPTreeNode) node.Clone( ) );
}
}
return clone;
}
}