public static <T> List<T> reverseNew(List<T> list) {
		List<T> list2 = ObjectUtil.clone(list);
		if (null == list2) {
			// 不支持clone
			list2 = new ArrayList<>(list);
		}

		try {
			return reverse(list2);
		} catch (final UnsupportedOperationException e) {
			// 提供的列表不可编辑,新建列表
			return reverse(list(false, list));
		}
	}
@Test
	public void reverseNewTest() {
		final List<Integer> view = ListUtil.of(1, 2, 3);
		final List<Integer> reverse = ListUtil.reverseNew(view);
		assertEquals("[3, 2, 1]", reverse.toString());
	}