class RandomBigDecimalValueRangeIterator extends ValueRangeIterator<BigDecimal> {

        private final Random workingRandom;
        private final long size = getSize();

        public RandomBigDecimalValueRangeIterator(Random workingRandom) {
            this.workingRandom = workingRandom;
        }

        @Override
        public boolean hasNext() {
            return size > 0L;
        }

        @Override
        public BigDecimal next() {
            if (size <= 0L) {
                throw new NoSuchElementException();
            }
            long index = RandomUtils.nextLong(workingRandom, size);
            return incrementUnit.multiply(BigDecimal.valueOf(index)).add(from);
        }

    }

    @Override
    public String toString() {<FILL_FUNCTION_BODY>

        return "[" + from + "-" + to + ")"; // Formatting: interval (mathematics) ISO 31-11
    
<methods>public non-sealed void <init>() ,public boolean isEmpty() <variables>