public WaveletAnalysisCollection GetAnalysis(List <double> values)
        {
            var analysisCollection = new WaveletAnalysisCollection();
            var formattedValues    = WaveletValuesListMirroringHelper.GetValuesListWithMirroredExtremities(values);

            for (var i = 0; i < values.Count; i++)
            {
                var low  = 0d;
                var high = 0d;

                for (var j = 0; j < 9; j++)
                {
                    low  += formattedValues[i + j] * analysisLowCoefficients[j];
                    high += formattedValues[i + j] * analysisHighCoefficients[j];
                }

                if (i % 2 == 0)
                {
                    low = Math.Round(low, 6);
                    analysisCollection.RearrangedLow.Add(low);
                }
                else
                {
                    high = Math.Round(high, 6);
                    analysisCollection.RearrangedHigh.Add(high);
                }
            }

            return(analysisCollection);
        }