public static Object getFieldArrayValue(java.lang.reflect.Field _p,
			Object _o, int _i[]) {
		int n, k;
		Object o = null;
		n = (_i == null) ? 0 : _i.length;
		try {
			if (_p.getType().equals(java.lang.Integer.TYPE)) {
				o = new Integer(_p.getInt(_o));
			} else if (_p.getType().equals(java.lang.Double.TYPE)) {
				o = new Double(_p.getDouble(_o));
			} else {
				o = _p.get(_o);
				for (k = 0; k < n && o != null && o.getClass().isArray(); k++) {
					if (o.getClass() == (double[].class)) {
						o = new Double(((double[]) o)[_i[k]]);
					} else if (o.getClass() == (int[].class)) {
						o = new Integer(((int[]) o)[_i[k]]);
					} else {
						o = (((Object[]) o)[_i[k]]);
					}
				}
			}
		} catch (Exception ex) {
			System.out.println(_p.getType().getComponentType().getName() + "\t"
					+ _p.getName() + "\t" + _o.getClass().getName() + "\t"
					+ Integer.toString(n));
		}
		return o;
	}