//Constructors
 /// <summary>
 /// Creates an unitialized instance.
 /// </summary>
 /// <param name="crossvalidationCfg">The crossvalidation configuration.</param>
 /// <param name="clustersCfg">The configuration of the clusters in the chain.</param>
 public TNRNetClusterChainProbabilisticSettings(CrossvalidationSettings crossvalidationCfg,
                                                TNRNetClustersProbabilisticSettings clustersCfg
                                                )
 {
     CrossvalidationCfg = (CrossvalidationSettings)crossvalidationCfg.DeepClone();
     ClustersCfg        = (TNRNetClustersProbabilisticSettings)clustersCfg.DeepClone();
     Check();
     return;
 }
        /// <summary>
        /// Creates an initialized instance.
        /// </summary>
        /// <param name="elem">A xml element containing the configuration data.</param>
        public TNRNetClusterChainProbabilisticSettings(XElement elem)
        {
            //Validation
            XElement settingsElem = Validate(elem, XsdTypeName);

            //Parsing
            CrossvalidationCfg = new CrossvalidationSettings(settingsElem.Element("crossvalidation"));
            ClustersCfg        = new TNRNetClustersProbabilisticSettings(settingsElem.Element("clusters"));
            Check();
            return;
        }
 /// <summary>
 /// The copy constructor.
 /// </summary>
 /// <param name="source">The source instance.</param>
 public TNRNetClustersProbabilisticSettings(TNRNetClustersProbabilisticSettings source)
     : this(from cfg in source.ClusterCfgCollection select(TNRNetClusterProbabilisticSettings) cfg)
 {
     return;
 }