public T fromInstance(T instance) throws IOException {
    return fromJson(toJson(instance));
  }
@Test
  public void testCloneViaJson() throws Throwable {
    KeyVal unmarshalled = serDeser.fromInstance(source);
    assertEquals(source, unmarshalled);
  }