Thanks for your response.
I meant that since each sample has a weight, what if we can zipping the sample and the weight, shuffle them randomly, further unzip them and now use the sampler to draw the samples