### Question:
HyperParams { public static <T> HyperParamValues<T> unorderedFromValues(Collection<T> values) { return new Unordered<>(values); } private  HyperParams(); static HyperParamValues<Double> fixed(double fixedValue); static HyperParamValues<Double> range(double min, double max); static HyperParamValues<Double> around(double value, double step); static HyperParamValues<Integer> fixed(int fixedValue); static HyperParamValues<Integer> range(int min, int max); static HyperParamValues<Integer> around(int value, int step); static HyperParamValues<T> unorderedFromValues(Collection<T> values); static HyperParamValues<?> fromConfig(Config config, String key); static List<List<?>> chooseHyperParameterCombos(
      List<HyperParamValues<?>> ranges, String hyperParamSearch, int howMany);  }### Answer:
@Test public void testUnordered() { doTest(HyperParams.unorderedFromValues(Arrays.asList("foo", "bar")), 1, Collections.singletonList("foo")); doTest(HyperParams.unorderedFromValues(Arrays.asList("foo", "bar")), 2, Arrays.asList("foo", "bar")); doTest(HyperParams.unorderedFromValues(Arrays.asList("foo", "bar")), 3, Arrays.asList("foo", "bar")); }