catch (bsh.EvalError eBEE)                    { GrouperShell.error(i, eBEE); } catch (IndexOutOfBoundsException eIOOB) { GrouperShell.error(i, eIOOB, E.OUTOFBOUNDS); } return false; }
try {  if (!cmd.startsWith("last(")) { List history = GrouperShell.getHistory(i); GrouperShell.setHistory(i, history.size(), cmd); } } catch (bsh.EvalError eBEE) { i.error(E.GSH_SETHISTORY + eBEE.getMessage()); } return cmd; }
  protected static boolean eval(Interpreter i, int idx)     throws  GrouperShellException  {    try {      List    history = GrouperShell.getHistory(i);      // An ugly way of getting the last command      if (idx == -2) {          idx = history.size() - 2;      }      String cmd = (String) history.get(idx);      i.eval(cmd);      return true;    }    catch (ArrayIndexOutOfBoundsException eAIOOB) {      GrouperShell.error(i, eAIOOB, E.OUTOFBOUNDS);    }    catch (bsh.EvalError eBEE)                    {      GrouperShell.error(i, eBEE);    }    catch (IndexOutOfBoundsException eIOOB) {      GrouperShell.error(i, eIOOB, E.OUTOFBOUNDS);    }    return false;  } // protected static boolean eval(i, idx)