### Question:
StringUtils { public static Map<String, String> splitKeyValue(String... keyValue) { return Stream.of(keyValue) .map(s -> s.split("=")) .collect(toLinkedMap(s -> s[0], s -> s.length == 1 ? "" : s[1])); }  static boolean isEmpty(String str); static List<String> split(String value, String separator); static Map<String, String> splitKeyValue(String... keyValue); static int findFirstIndexIn(String keyValue, String chars); static String addOffsets(String value, int spacesCount); static long dotCountIn(String line); static long symbolCountIn(String line, char symbol); static String unixLikePath(String path); static String toUnixPathSeparator(String line); static String escape(String value); static StringBuilder asStringBuilder(CharSequence line); static String getCauseMessage(Throwable t); static String getExceptionMessage(Throwable t); static boolean isBlank(String line);  }### Answer:
@Test void testSplitKeyValue() { Map<String, String> expected = new HashMap<>(); expected.put("k1", "v1"); expected.put("k2", "v2"); expected.put("k3", ""); assertEquals( expected, splitKeyValue("k1=v1", "k2=v2", "k3=") ); }