public <T> boolean parse(Handler<T> handler, T target, CharSequence input) {
    if (input == null) throw new NullPointerException("input == null");
    return parse(handler, target, input, 0, input.length());
  }
@Test void parse_emptyValuesOk() {
    for (String emptyValue : Arrays.asList("k1=", "k1 =", ",k1=", ",k1 =", "k1 =,")) {
      entrySplitter.parse(parseIntoMap, map, emptyValue);

      assertThat(map).containsExactly(entry("k1", ""));
      map.clear();
    }

    entrySplitter.parse(parseIntoMap, map, "k1=v1,k2=");

    assertThat(map).containsExactly(
      entry("k1", "v1"),
      entry("k2", "")
    );
  }