throws Throwable
  public Value array_unique(Env env,                            ArrayValue array)    throws Throwable  {    if (array == null)      return BooleanValue.FALSE;    array.sort(CNO_VALUE_NORMAL, NO_KEY_RESET, NOT_STRICT);    Map.Entry<Value, Value> lastEntry = null;    ArrayValue uniqueArray = new ArrayValueImpl();    for (Map.Entry<Value, Value> entry : array.entrySet()) {      Value entryValue = entry.getValue();      if (lastEntry == null) {        uniqueArray.put(entry.getKey(), entryValue);        lastEntry = entry;        continue;      }      Value lastEntryValue = lastEntry.getValue();      if (! entryValue.toString().equals(lastEntryValue.toString()))        uniqueArray.put(entry.getKey(), entryValue);      lastEntry = entry;    }    uniqueArray.sort(CNO_KEY_NORMAL, NO_KEY_RESET, NOT_STRICT);    return uniqueArray;  }