@Override
    public int getEstimatedNumIterations() {
      return estimatedNumIterations;
    }
Creates a new data provider multiplier that handles one data provider multiplier
and a set of plain data providers as factors. If the sizes of the providers in at least
one of these can be estimated, the factors of the multiplication are possibly swapped around
to store as few values as possible in memory for the multiplication.

@param supervisor the supervisor that is notified in case of errors
@param context the execution context that for example contains the error collector
@param dataVariableNames the names of the data variables for which values are produced by this multiplier
@param multiplicandProviderInfos the provider infos for the multiplicand for constructing meaningful errors
@param multiplierProvider the data provider multiplier that produces the multiplier values
@param multiplicandProviders the actual providers for the sets of multiplicand values
spock-core/src/main/java/org/spockframework/runtime/DataIteratorFactory.java