private static Object fetchPrimitiveArrayValue(Object array, int index, Class<?> componentType) {
		if (long.class.equals(componentType)) {
			return ((long[]) array)[index];
		}
		if (int.class.equals(componentType)) {
			return ((int[]) array)[index];
		}
		if (boolean.class.equals(componentType)) {
			return ((boolean[]) array)[index];
		}
		if (double.class.equals(componentType)) {
			return ((double[]) array)[index];
		}
		if (char.class.equals(componentType)) {
			return ((char[]) array)[index];
		}
		if (float.class.equals(componentType)) {
			return ((float[]) array)[index];
		}
		if (byte.class.equals(componentType)) {
			return ((byte[]) array)[index];
		}
		if (short.class.equals(componentType)) {
			return ((short[]) array)[index];
		}
		return null;
	}