private static int[] exclusion(int[] itemIds1, int[] itemIds2) {
		int[] exclusion = new int[itemIds1.length < itemIds2.length ? itemIds2.length : itemIds1.length];
		int index1 = 0, index2 = 0, indexResult = 0;
		while (index1 < itemIds1.length && index2 < itemIds2.length) {
			if (itemIds1[index1] < itemIds2[index2]) {
				index1++;
			} else if (itemIds1[index1] > itemIds2[index2]) {
				exclusion[indexResult++] = itemIds2[index2++];
			} else {
				index1++;
				index2++;
			}
		}
		while (index2 < itemIds2.length) {
			exclusion[indexResult++] = itemIds2[index2++];
		}
		int[] result = new int[indexResult];
		System.arraycopy(exclusion, 0, result, 0, indexResult);
		return result;
	}