docs: private <T> Observable<PollingState<T>> updateStateFromAzureAsyncOperationHeaderOnPostOrDeleteAsync(final PollingState<T> pollingState) {
          return pollAsync(pollingState.azureAsyncOperationHeaderLink(), pollingState.loggingContext())
                  .flatMap(new Func1<Response<ResponseBody>, Observable<PollingState<T>>>() {
                      @Override
                      public Observable<PollingState<T>> call(Response<ResponseBody> response) {
                          final AzureAsyncOperation asyncOperation;
                          try {
                              asyncOperation = AzureAsyncOperation.fromResponse(restClient().serializerAdapter(), response);
                          } catch (CloudException exception) {
                              return Observable.error(exception);
                          }
                          pollingState.withStatus(asyncOperation.status());
                          pollingState.withErrorBody(asyncOperation.getError());
                          pollingState.withResponse(response);
                          try {
                              T resource = restClient().serializerAdapter().deserialize(asyncOperation.rawString(), pollingState.resourceType());
                              pollingState.withResource(resource);
                          } catch (IOException e) {
                              // Ignore and let resource be null
                          }
                          return Observable.just(pollingState);
                      }
                  });
      }