/// <summary>
        /// Creates the new math practice.
        /// </summary>
        /// <returns></returns>
        public MathPractice CreateNewSession()
        {
            MathPractice item = new MathPractice();
            item.CreateQuestions();

            CreateSessions(item);

            return item;
        }
        /// <summary>
        /// Retrieves from session.
        /// </summary>
        /// <returns></returns>
        public MathPractice RetrieveFromSession()
        {
            //Read the session cookie
            MathPractice item;

            if(!string.IsNullOrEmpty(UserID))
            {
                item = m_RavenSession.Load<MathPractice>(UserID);

                if(item == null || item.ID < 0)
                {
                    item = new MathPractice();
                    item.CreateQuestions();

                    CreateSessions(item);
                }
            }
            else
            {
                //initialize a link list with max 20 operations
                item = new MathPractice();
                item.CreateQuestions();

                CreateSessions(item);
            }

            return item;
        }