static <RequestT, ResponseT> Call<RequestT, ResponseT> of(
      Caller<RequestT, ResponseT> caller, Coder<ResponseT> responseTCoder) {
    caller = SerializableUtils.ensureSerializable(caller);
    return new Call<>(
        Configuration.<RequestT, ResponseT>builder()
            .setCaller(caller)
            .setResponseCoder(responseTCoder)
            .build());
  }
@Test
  public void givenCallerNotSerializable_throwsError() {
    assertThrows(
        IllegalArgumentException.class,
        () -> Call.of(new UnSerializableCaller(), NON_DETERMINISTIC_RESPONSE_CODER));
  }