Value v2 = av.get(index1);
Value v2 = av.get(index2);
    public int compare(LongValue index1, LongValue index2)    {      for(int i=0; i<_arrays.length; i++) {	// reset direction/mode for each array (per the php.net spec)	int direction = SORT_ASC;	int mode      = SORT_REGULAR;	ArrayValue av = (ArrayValue)_arrays[i];	// process all flags appearing *after* an array but before the next one	while((i+1)<_arrays.length && _arrays[i+1] instanceof LongValue) {	  switch(_arrays[++i].toInt()) {	    case SORT_ASC:      direction = SORT_ASC; break;	    case SORT_DESC:     direction = SORT_DESC; break;	    case SORT_REGULAR:  mode      = SORT_REGULAR; break;	    case SORT_STRING:   mode      = SORT_STRING; break;	    case SORT_NUMERIC:  mode      = SORT_NUMERIC; break;	    default: _env.warning("Unknown sort flag: " + _arrays[i]);	  }	}	Value v1 = av.get(index1);	Value v2 = av.get(index1);	if (mode==SORT_STRING) {	  v1 = v1.toStringValue();	  v2 = v2.toStringValue();	} else if (mode==SORT_NUMERIC) {	  v1 = LongValue.create(v1.toLong());	  v2 = LongValue.create(v2.toLong());	}	if (v1.lt(v2)) return direction==SORT_ASC ? -1 : 1;	if (v1.gt(v2)) return direction==SORT_ASC ? 1 : -1;      }      return 0;    }