@Override
    public SplitWeight weightForSplitSizeInBytes(long splitSizeInBytes)
    {
        // Clamp the value be between the minimum weight and 1.0 (standard weight)
        return SplitWeight.fromProportion(Math.min(Math.max(splitSizeInBytes / targetSplitSizeInBytes, minimumWeight), 1.0));
    }
@Test
    public void testSimpleProportions()
    {
        SizeBasedSplitWeightProvider provider = new SizeBasedSplitWeightProvider(0.01, DataSize.succinctBytes(megabytesToBytes(64)));
        assertEquals(provider.weightForSplitSizeInBytes(megabytesToBytes(64)), SplitWeight.fromRawValue(STANDARD_SPLIT_WEIGHT));
        assertEquals(provider.weightForSplitSizeInBytes(megabytesToBytes(32)), SplitWeight.fromRawValue(STANDARD_SPLIT_WEIGHT / 2));
        assertEquals(provider.weightForSplitSizeInBytes(megabytesToBytes(16)), SplitWeight.fromRawValue(STANDARD_SPLIT_WEIGHT / 4));
    }