@NotNull
    private List<String> dataVariableNames() {
      return context.getCurrentFeature().getDataProviders()
        .stream()
        .map(DataProviderInfo::getDataVariables)
        .flatMap(List::stream)
        .collect(toList());
    }
Creates a multiplier that is backed by data providers and on-the-fly multiplies them as they are processed.

@param dataVariableMultiplication the multiplication for which to create the multiplier
@param dataProviderOffset the index of the first data provider for the given multiplication
@return the data provider multiplier
spock-core/src/main/java/org/spockframework/runtime/DataIteratorFactory.java