/// <summary>
        /// Creates ensemble manager of corresponding type and
        /// initializes from current research.
        /// </summary>
        protected void CreateEnsembleManager()
        {
            ManagerTypeInfo[] info = (ManagerTypeInfo[])managerType.GetType().GetField(managerType.ToString()).GetCustomAttributes(typeof(ManagerTypeInfo), false);
            Type t = Type.GetType(info[0].Implementation);

            currentManager = (AbstractEnsembleManager)t.GetConstructor(Type.EmptyTypes).Invoke(new object[0]);

            currentManager.ModelType        = modelType;
            currentManager.TracingPath      = (TracingPath == "" ? "" : TracingPath + "\\" + ResearchName);
            currentManager.CheckConnected   = CheckConnected;
            currentManager.RealizationCount = realizationCount;
            currentManager.ResearchName     = ResearchName;
            currentManager.ResearchType     = GetResearchType();
            currentManager.GenerationType   = GenerationType;
            currentManager.AnalyzeOptions   = AnalyzeOption;
            currentManager.NetworkStatusUpdateHandlerMethod = AbstractResearch_OnUpdateNetworkStatus;
            FillParameters(currentManager);
        }