internal static UInt16 RotateRight(this UInt16 i, int distance)
        {
            const int size = sizeof(UInt16) * 8;

            ThrowOnInvalidArgument(distance, size);
            return(i.RotateRight_NoChecks(distance));
        }