public boolean contains(final RequiredGroup... groups) {
		if (groups == null)
			return true;
		Map<Integer, Integer> used = new HashMap<>();
		for (final RequiredGroup group : groups) {
			if (group != null && !group.inside(items, used))
				return false;
		}
		return true;
	}