public DataEntity(DataCheckParameters dataCheckParams)
 {
     DataInfo         = new DataEntityInfo();
     PlotBuf          = new PlotBuffer(this);
     _transBuf        = null;
     _dataCheckParams = dataCheckParams;
     Parallel         = new ParallelHandler(this, dataCheckParams);
 }
        /*
         *      public void SaveData(DateTime xStart, double sampleRate, string timeFormat, IEnumerable<double> yData,
         *          int xSize, int ySize)
         *      {
         *          DataInfo.XDataInputType = XDataInputType.Increment;
         *          DataInfo.XDataType = XDataType.DateTime;
         *          XStart = 0;
         *          XIncrement = 1;
         *          DataInfo.Size = xSize <= ySize ? xSize : ySize;
         *
         *          MaxXValue = xSize;
         *          MinXValue = 0;
         *          XMinInterval = 1;
         *
         *          XStartTime = xStart;
         *          SampleRate = sampleRate;
         *          if (string.IsNullOrWhiteSpace(timeFormat))
         *          {
         *              timeFormat = Constants.DefaultTimeFormat;
         *          }
         *          TimeFormat = timeFormat;
         *
         *          //            InitYDataBuf(yData, yDataSize);
         *          DataInfo.LineNum = ySize / DataInfo.Size;
         *
         *          XData?.Clear();
         *          YData = SaveDataToBuf(YData, yData);
         *
         *          Buffer.AdaptPlotBuffer(this);
         *
         *          InitViewRange();
         *      }
         */
        public static void FillMultiDataEntity(IList <IList <double> > xData, IList <IList <double> > yData,
                                               List <DataEntity> dataEntities, DataCheckParameters dataCheckParams, bool isShallowCopy = false)
        {
            int seriesCount = xData.Count;

            if (dataEntities.Count != seriesCount)
            {
                while (dataEntities.Count < seriesCount)
                {
                    dataEntities.Add(new DataEntity(dataCheckParams));
                }
                while (dataEntities.Count > seriesCount)
                {
                    dataEntities.RemoveAt(dataEntities.Count - 1);
                }
            }

            for (int i = 0; i < seriesCount; i++)
            {
//                dataEntities[i].SaveData(xData[i], yData[i], isShallowCopy);
                dataEntities[i].SaveData(xData[i], yData[i], xData.Count, yData.Count, 1);
            }
        }