/// <summary>
        ///
        /// </summary>
        /// <param name="component"></param>
        /// <param name="countConstraint">The maximum allowed number of IPs to be returned</param>
        public SpatGridIntegatorThinningDecorator(IGridAxisAvgProcessing component, int countConstraint = 5)
        {
            this.component       = component;
            this.countConstraint = countConstraint;

            if (countConstraint < 2)
            {
                throw new ArgumentException("Minimum allowed countConstreint is 2");
            }
        }
        public SequentialTimeSpatialUncertaintyEvaluatorFacade(
            ITimeAxisAvgProcessing timeAxisIntegrator,
            IGridAxisAvgProcessing latAxisIntegrator,
            IGridAxisAvgProcessing lonAxisIntegrator,
            ILinearCombination1DVarianceCalculator temporalVarianceCalculator,
            ILinearCombinationOnSphereVarianceCalculator spatialVarianceCalculator,
            INodeUncertaintyProvider baseNodeUncertatintyProvider)
        {
            this.temporalVarianceCalculator   = temporalVarianceCalculator;
            this.spatialVarianceCalculator    = spatialVarianceCalculator;
            this.baseNodeUncertatintyProvider = baseNodeUncertatintyProvider;

            timeAggregator2 = timeAxisIntegrator;
            latIntegrator2  = latAxisIntegrator;
            lonIntegrator2  = lonAxisIntegrator;
        }