### Question:
StreamIndices { public static List<String> getOddIndexedStringsVersionTwo(String[] names) { List<String> oddIndexedNames = Stream.of(names) .zipWithIndex() .filter(tuple -> tuple._2 % 2 == 1) .map(tuple -> tuple._1) .toJavaList(); return oddIndexedNames; }  static List<String> getEvenIndexedStrings(String[] names); List<String> getEvenIndexedStringsVersionTwo(List<String> names); static List<Indexed<String>> getEvenIndexedStrings(List<String> names); static List<Indexed<String>> getOddIndexedStrings(List<String> names); static List<String> getOddIndexedStrings(String[] names); static List<String> getOddIndexedStringsVersionTwo(String[] names);  }### Answer:
@Test public void whenCalled_thenReturnListOfOddStringsVersionTwo() { String[] names = {"Afrim", "Bashkim", "Besim", "Lulzim", "Durim", "Shpetim"}; List<String> expectedResult = Arrays.asList("Bashkim", "Lulzim", "Shpetim"); List<String> actualResult = StreamIndices.getOddIndexedStringsVersionTwo(names); assertEquals(expectedResult, actualResult); }