private CoreStateModel GetCoreState()
        {
            lock (m_Lock)
            {
                IEnumerable <IDependentActivity <int, int> > activities = Activities.Select(x => (IDependentActivity <int, int>)x.CloneObject());

                return(new CoreStateModel
                {
                    ArrowGraphSettings = ArrowGraphSettings.CloneObject(),
                    ResourceSettings = ResourceSettings.CloneObject(),
                    DependentActivities = m_Mapper.Map <IEnumerable <IDependentActivity <int, int> >, IEnumerable <DependentActivityModel> >(activities),
                    ProjectStart = ProjectStart,
                    UseBusinessDays = UseBusinessDays,
                    ShowDates = ShowDates,
                });
            }
        }