code: public <T> T send(Request<T> request) {
  
  		if (request == null) {
  			throw new CommunicationErrorException("Request cannot be null.");
  		}
  		RequestUtil.validate(request);
  
  		@SuppressWarnings("unchecked")
  		T response = (T) dispatchByMethod(request);
  
  		return response;
  	}
docs: <p>
  send.
  </p>
  
  @param request
  a {@link com.apitrary.api.request.Request} object.
  @param <T>
  a T object.
  @return a T object.