public static RadixSortPairsProvider <TValue> CreateRadixSortPairsProvider <TValue>(this Accelerator accelerator) where TValue : struct { if (accelerator == null) { throw new ArgumentNullException(nameof(accelerator)); } return(new RadixSortPairsProvider <TValue>(accelerator, accelerator.CreateRadixSortPairsProviderImplementation())); }