private static Class<?> type(Field field) {
		if (Types.isKindOf(field.getType(), List.class)) {
			// for the purpose of this implementation only first parameterized
			// type matters, as result from list declaration List<E>
			return (Class<?>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0];
		}
		return field.getType();
	}
private static Class<?> type(Field field) {
		if (Types.isKindOf(field.getType(), List.class)) {
			
			
			return (Class<?>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0];
		}
		return field.getType();
	}
private static Class < ? > type ( Field field ) { if ( Types . isKindOf ( field . getType ( ) , List . class ) ) { // for the purpose of this implementation only first parameterized
 // type matters, as result from list declaration List<E>
 return ( Class < ? > ) ( ( ParameterizedType ) field . getGenericType ( ) ) . getActualTypeArguments ( ) [ 0 ] ; } return field . getType ( ) ; }
Return field class or actual type argument if given field is a list.

@param field Java reflective class field.
@return field type.
Return field class or actual type argument if given field is a list .