throws Throwable
  public Value array_count_values(Env env, ArrayValue array)    throws Throwable  {    if (array == null)      return NullValue.NULL;    ArrayValue result = new ArrayValueImpl();    for (Value value : array.values()) {      if (! (value instanceof LongValue) && ! (value instanceof StringValue))        env.warning("Can only count STRING and INTEGER values!");      else {        Value count = result.get(value);        if (count == null)          count = new LongValue(1);        else          count = count.add(1);        result.put(value, count);      }    }    return result;  }