if (e != this) {
return e;
}
if (getNumberOfArguments() == 2 && Literal.isAtomic(argument[1])) {
NumericValue start = (NumericValue)((Literal)argument[1]).getValue();
start = start.round();
long intstart = start.longValue();
if (intstart > Integer.MAX_VALUE) {
return new Literal(EmptySequence.getInstance());
}
return new TailExpression(argument[0], (int)intstart);