public void Filter_ReturnsProvider(CompositeValueProvider provider)
    {
        // Arrange
        var originalProviders = provider.ToArray();

        // Act
        var result = provider.Filter();

        // Assert (does not change inner providers)
        var newProvider = Assert.IsType <CompositeValueProvider>(result);

        Assert.Equal(originalProviders, newProvider, ReferenceEqualityComparer.Instance);
    }