code: public int getNextRandomUnvisitedPosition() {
  
      // if all are visited, return -1
      //
      if (0 == this.unvisitedCount) {
        return -1;
      }
  
      // if there is space continue with random sampling
      //
      int i = this.randomizer.nextInt(this.registry.length);
      while (ONE == registry[i]) {
        i = this.randomizer.nextInt(this.registry.length);
      }
      return i;
    }
docs: Get the next random unvisited position.
  
  @return The next unvisited position.