public override ISeq rest()
{
if (_rest == sentinel)
{
// Java code wraps this in a try/catch, where the catch wraps the Exception with a RuntimeException.
// We can just let it pass through.
// force sequential evaluation
if (_first == sentinel)
first();
_rest = RT.seq(_f.invoke(null));
_f = null;
}
return _rest;
}