/// <summary>
        /// Read list of flexia models from stream.
        /// </summary>
        /// <param name="sr">Stream reader.</param>
        /// <returns>List of flexia models.</returns>
        /// <remarks>
        /// Structure of stream:
        /// FlexiaModelsCount(int)
        /// FlexiaModel[0]
        /// ...
        /// FlexiaModel[FlexiaModelsCount-1]
        /// </remarks>
        private List <FlexiaModel> ReadFlexiaModels(StreamReader sr)
        {
            List <FlexiaModel> tempFlexiaModels = new List <FlexiaModel>();

            int paradigm_count = int.Parse(sr.ReadLine());

            for (int num = 0; num < paradigm_count; num++)
            {
                string      line = sr.ReadLine().Trim();
                FlexiaModel fm   = new FlexiaModel();
                if (!fm.ReadFromString(line))
                {
                    throw new Exception(string.Format("Cannot parse paradigm No %i", num + 1));
                }

                tempFlexiaModels.Add(fm);
            }

            return(tempFlexiaModels);
        }