### Question:
CombinationUtil { public static boolean containsAllParameters(int[] combination, IntSet parameterIndices) { Preconditions.notNull(combination); Preconditions.notNull(parameterIndices); for (int parameterIndex : parameterIndices) { if (parameterIndex < 0 || parameterIndex >= combination.length || combination[parameterIndex] == NO_VALUE) { return false; } } return true; } private  CombinationUtil(); static int[] emptyCombination(int size); static boolean contains(int[] firstCombination, int[] secondCombination); static boolean canBeAdded(int[] combination, int[] toBeAdded, ConstraintChecker constraintChecker); static void add(int[] combination, int[] toBeAdded); static boolean containsAllParameters(int[] combination, IntSet parameterIndices); static boolean containsAllParameters(int[] combination, int untilParameter); static boolean sameForAllGivenParameters(int[] first, int[] second, IntSet parameters); static int numberOfSetParameters(int[] combination); static final int NO_VALUE; }### Answer:
@Test void containsAllParametersPreconditions() { Assertions.assertThrows(NullPointerException.class, () -> CombinationUtil.containsAllParameters(null, new IntOpenHashSet())); Assertions.assertThrows(NullPointerException.class, () -> CombinationUtil.containsAllParameters(new int[0], null)); }
@Test void containsAllParametersUntilPreconditions() { Assertions.assertThrows(NullPointerException.class, () -> CombinationUtil.containsAllParameters(null, 0)); }