sclass AbstractFastRegions_ShuffledScan is Steppable { AbstractFastRegions regionMaker; WeightlessShuffledIterator iterator; *(AbstractFastRegions *regionMaker) { regionMaker.init(); iterator = new WeightlessShuffledIterator(regionMaker.size); } public bool step() { if (!iterator.hasNext()) false; var regionMatrix = regionMaker.regionMatrix; int pixel = iterator.nextIndex(); if (regionMatrix[pixel] == 0) { regionMaker.runner = pixel; regionMaker.makeRegion(); } true; } }