code: private <T> T send(String method, TypeReference<T> responseType, @Nullable Object entity) {
          try {
              InputStream responseStream = entity == null ?
                      builder().method(method, InputStream.class) :
                      builder().method(method, InputStream.class, entity);
  
              return EntityHelper.getEntity(responseStream, responseType);
          } catch (UniformInterfaceException e) {
              throw asEmoClientException(e);
          }
      }
docs: Sends the optionally provided request entity using the provided method.  The response entity is then
  deserialized to the provided type reference.