@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 testMinimumAndMaximumSplitWeightHandling()
    {
        DataSize targetSplitSize = DataSize.succinctBytes(megabytesToBytes(64));
        SizeBasedSplitWeightProvider provider = new SizeBasedSplitWeightProvider(0.05, targetSplitSize);
        assertEquals(provider.weightForSplitSizeInBytes(1), SplitWeight.fromRawValue(5));

        DataSize largerThanTarget = DataSize.succinctBytes(megabytesToBytes(128));
        assertEquals(provider.weightForSplitSizeInBytes(largerThanTarget.toBytes()), SplitWeight.fromRawValue(STANDARD_SPLIT_WEIGHT));
    }