code: private <T> ServiceResponse<T> getPutOrPatchResult(Observable<Response<ResponseBody>> observable, Type resourceType) throws CloudException, InterruptedException, IOException {
          Observable<ServiceResponse<T>> asyncObservable = getPutOrPatchResultAsync(observable, resourceType);
          return asyncObservable.toBlocking().last();
      }
docs: Handles an initial response from a PUT or PATCH operation response by polling
  the status of the operation until the long running operation terminates.
  
  @param observable  the initial observable from the PUT or PATCH operation.
  @param <T>       the return type of the caller
  @param resourceType the java.lang.reflect.Type of the resource.
  @return          the terminal response for the operation.
  @throws CloudException REST exception
  @throws InterruptedException interrupted exception
  @throws IOException thrown by deserialization