public static <T> List<List<T>> split(Collection<T> collection, int size) {
		final List<List<T>> result = new ArrayList<>();
		if (CollUtil.isEmpty(collection)) {
			return result;
		}

		final int initSize = Math.min(collection.size(), size);
		List<T> subList = new ArrayList<>(initSize);
		for (T t : collection) {
			if (subList.size() >= size) {
				result.add(subList);
				subList = new ArrayList<>(initSize);
			}
			subList.add(t);
		}
		result.add(subList);
		return result;
	}
@Test
	public void splitTest() {
		final ArrayList<Integer> list = CollUtil.newArrayList(1, 2, 3, 4, 5, 6, 7, 8, 9);
		final List<List<Integer>> split = CollUtil.split(list, 3);
		assertEquals(3, split.size());
		assertEquals(3, split.get(0).size());
	}