Javadoc
Randomly removes points from a GreasedRegion, with preservation as a fraction between 1.0 (keep all) and 0.0
(remove all). If preservation is 0.5, roughly 1/2 of all points will be removed; if 0.25, roughly 3/4 will be
removed (roughly 0.25 will be _kept_), if 0.8, roughly 1/5 will be removed (and about 0.8 will be kept), and so
on. Preservation must be between 0.0 and 1.0 for this to have the intended behavior; 1.0 or higher will keep all
points without change (returning this GreasedRegion), while anything less than 0.015625 (1.0/64) will empty this
GreasedRegion (using
#empty()) and then return it. The parameter
random can be an object like a
DiverRNG, an
RNG backed by a well-distributed RandomnessSource like its default, DiverRNG, a
GWTRNG (especially if you target GWT, where it will perform much better than most alternatives), or any
of various other RandomnessSource implementations that distribute bits well for
RandomnessSource#nextLong(), but should not be intentionally-biased RNGs like
DharmaRNG or
EditRNG, nor double-based QRNGs like
VanDerCorputQRNG or
SobolQRNG.