/**
  * Allows to upload resource with MultiPart request.
  *
  * @param multipartResource form
  * @param clazz entity class
  * @param <T> type of entity class
  * @return result instance
  */
 public <T> OperationResult<T> uploadMultipartResource(
     FormDataMultiPart multipartResource, Class<T> clazz) {
   JerseyRequest<T> request =
       buildRequest(sessionStorage, clazz, new String[] {"/resources", resourceUri});
   request.setContentType(MediaType.MULTIPART_FORM_DATA);
   return request.post(multipartResource);
 }
 private JerseyRequest<ClientFile> prepareUploadFileRequest() {
   JerseyRequest<ClientFile> request =
       buildRequest(sessionStorage, ClientFile.class, new String[] {"/resources", resourceUri});
   request.addParams(params);
   request.setContentType(MediaType.MULTIPART_FORM_DATA);
   return request;
 }
 /**
  * Jersey request setup. Generified with a proper entity.
  *
  * @return JerseyRequest instance
  */
 private JerseyRequest<ClientSemanticLayerDataSource> prepareUploadResourcesRequest() {
   JerseyRequest<ClientSemanticLayerDataSource> request =
       buildRequest(
           sessionStorage,
           ClientSemanticLayerDataSource.class,
           new String[] {"/resources", resourceUri});
   request.setContentType(MediaType.MULTIPART_FORM_DATA);
   return request;
 }
 private JerseyRequest<ClientResource> prepareCreateOrUpdateRequest(ClientResource resource) {
   Class<? extends ClientResource> resourceType =
       ResourcesTypeResolverUtil.getResourceType(resource);
   JerseyRequest<? extends ClientResource> request =
       buildRequest(
           sessionStorage,
           resourceType,
           new String[] {"/resources", resourceUri},
           new DefaultErrorHandler());
   request.setContentType(
       MimeTypeUtil.toCorrectContentMime(
           sessionStorage.getConfiguration(),
           ResourcesTypeResolverUtil.getMimeType(resourceType)));
   request.addParams(params);
   return (JerseyRequest<ClientResource>) request;
 }