public static <T> T[] filter(T[] array, Filter<T> filter) {
		if (null == array || null == filter) {
			return array;
		}
		return edit(array, t -> filter.accept(t) ? t : null);
	}
@Test
	public void filterTestForFilter() {
		Integer[] a = {1, 2, 3, 4, 5, 6};
		Integer[] filter = ArrayUtil.filter(a, t -> t % 2 == 0);
		assertArrayEquals(filter, new Integer[]{2, 4, 6});
	}