@Test public void toStringReturnsJson() { assertEquals("{\"foo\":\"bar\"}", new Thing("bar").toString()); }
@Override public String toString() { return toJson(); }
JsonSerializable { @Override public String toString() { return toJson(); } }
JsonSerializable { @Override public String toString() { return toJson(); }  }
JsonSerializable { @Override public String toString() { return toJson(); }  @JsonIgnore String toJson(); @Override String toString(); static T fromJson(String json, Class<T> cls); }
JsonSerializable { @Override public String toString() { return toJson(); }  @JsonIgnore String toJson(); @Override String toString(); static T fromJson(String json, Class<T> cls);  }