sclass AbstractFastRegions_ShuffledScan is Steppable {
  AbstractFastRegions regionMaker;
  WeightlessShuffledIterator iterator;
  
  *(AbstractFastRegions *regionMaker) {
    regionMaker.init();
    iterator = new(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;
  }
}