class RangeIteratorFacade implements RangeIterator {

    @Override
    public Object next() {
        throw new UnsupportedOperationException("override this method to ensure delegate elements are wrapped appropriately with facades.");
    }

    public  RangeIteratorFacade(final @NotNull R delegate);

}