state = EMPTY;
return EmptyIterator.getInstance();
case 1:
return SingletonIterator.makeIterator(reservoir[0]);
default:
return new ArrayIterator(reservoir, 0, used);
}
case BUSY:
// recursive entry: can happen if there is a circularity involving variable and function definitions
// Can also happen if variable evaluation is attempted in a debugger, hence the cautious message