throws Throwable
  public boolean array_multisort(Env env, Value[] arrays)    throws Throwable  {    int maxsize = 0;    for(int i=0; i<arrays.length; i++)      if (arrays[i] instanceof ArrayValue)	maxsize = Math.max(maxsize,			   ((ArrayValue)arrays[i]).getSize());    // create the identity permutation [1..n]    LongValue []rows = new LongValue[maxsize];    for(int i=0; i<rows.length; i++)      rows[i] = LongValue.create(i);    java.util.Arrays.sort(rows, new MultiSortComparator(env, arrays));    // apply the permuation    for(int i=0; i<arrays.length; i++)      if (arrays[i] instanceof ArrayValue)	permute(env, (ArrayValue)arrays[i], rows);    return true;  }