code: protected <T, S> List<S> postAndReceiveList(String path, T objectToPost, Class<S> objectClassToReceive) throws SmartsheetException {
          Util.throwIfNull(path, objectToPost, objectClassToReceive);
          Util.throwIfEmpty(path);
  
          HttpRequest request = createHttpRequest(smartsheet.getBaseURI().resolve(path), HttpMethod.POST);
  
          ByteArrayOutputStream objectBytesStream = new ByteArrayOutputStream();
          this.smartsheet.getJsonSerializer().serialize(objectToPost, objectBytesStream);
          HttpEntity entity = new HttpEntity();
          entity.setContentType("application/json");
          entity.setContent(new ByteArrayInputStream(objectBytesStream.toByteArray()));
          entity.setContentLength(objectBytesStream.size());
          request.setEntity(entity);
  
  
          List<S> obj = null;
          try {
              HttpResponse response = this.smartsheet.getHttpClient().request(request);
              switch (response.getStatusCode()) {
                  case 200:
                      obj = this.smartsheet.getJsonSerializer().deserializeListResult(objectClassToReceive,
                              response.getEntity().getContent()).getResult();
                      break;
                  default:
                      handleError(response);
              }
          } finally {
              smartsheet.getHttpClient().releaseConnection();
          }
  
          return obj;
      }
docs: Post an object to Smartsheet REST API and receive a list of objects from response.
  
  Parameters: - path : the relative path of the resource collections - objectToPost : the object to post -
  objectClassToReceive : the resource object class to receive
  
  Returns: the object list
  
  Exceptions:
  IllegalArgumentException : if any argument is null, or path is empty string
  InvalidRequestException : if there is any problem with the REST API request
  AuthorizationException : if there is any problem with the REST API authorization(access token)
  ServiceUnavailableException : if the REST API service is not available (possibly due to rate limiting)
  SmartsheetRestException : if there is any other REST API related error occurred during the operation
  SmartsheetException : if there is any other error occurred during the operation
  
  @param <T> the generic type
  @param <S> the generic type
  @param path the path
  @param objectToPost the object to post
  @param objectClassToReceive the object class to receive
  @return the list
  @throws SmartsheetException the smartsheet exception