private static Class<?> determineArrayItemType(Class<?> clazz){
			if(clazz.isArray()){
				return clazz.getComponentType();
			}
			ParameterizedType parameterizedType = getParameterizedType(clazz);
			if(parameterizedType!=null && parameterizedType.getActualTypeArguments().length==1){
				try{
					return (Class<?>) parameterizedType.getActualTypeArguments()[0];
				}catch(ClassCastException ex){}
			}
			return Object.class;
		}