public virtual IReadOnlyList <QuantityValues> AllOutputValuesFor(string quantityPath)
        {
            if (Results.IsNull())
            {
                return(missingQuantityValuesArray());
            }

            var allValuesForPath = Results.AllValuesFor(quantityPath);

            //we might not have the right number or the values might not exist for the path
            if (allValuesForPath.Count == NumberOfItems && allValuesForPath.All(x => x != null))
            {
                return(allValuesForPath);
            }

            //In that case, the population size was reduced, does not make sense to keep any value
            if (NumberOfItems < allValuesForPath.Count)
            {
                return(missingQuantityValuesArray());
            }

            return(patchedUpResults(quantityPath));
        }