@Test
  public void anInterface() throws IOException, InterruptedException {
    server.enqueue(new MockResponse().setBody("{\"name\":\"value\"}"));

    Call<AnInterface> call = service.anInterface(new AnImplementation("value"));
    Response<AnInterface> response = call.execute();
    AnInterface body = response.body();
    assertThat(body.getName()).isEqualTo("value");

    RecordedRequest request = server.takeRequest();
    assertThat(request.getBody().readUtf8()).isEqualTo("{\"name\":\"value\"}");
    assertThat(request.getHeader("Content-Type")).isEqualTo("application/json; charset=UTF-8");
  }
 @Override
 public void serialize(
     AnInterface anInterface, JsonGenerator jsonGenerator, SerializerProvider serializerProvider)
     throws IOException {
   jsonGenerator.writeStartObject();
   jsonGenerator.writeFieldName("name");
   jsonGenerator.writeString(anInterface.getName());
   jsonGenerator.writeEndObject();
 }