@Override public Object report(final org.nlogo.nvm.Context context) throws LogoException { LogoList list = argEvalList(context, 0); int start = argEvalIntValue(context, 1); int stop = argEvalIntValue(context, 2); int size = list.size(); if (start < 0) { throw new EngineException( context, this, I18N.errorsJ().getN("org.nlogo.prim.etc._sublist.startIsLessThanZero", start)); } else if (stop < start) { throw new EngineException( context, this, I18N.errorsJ().getN("org.nlogo.prim.etc._sublist.endIsLessThanStart", stop, start)); } else if (stop > size) { throw new EngineException( context, this, I18N.errorsJ().getN("org.nlogo.prim.etc._sublist.endIsGreaterThanListSize", stop, size)); } return list.logoSublist(start, stop); }