code: public <T> Observable<PollingState<T>> pollAsync(final PollingState<T> pollingState, final Type resourceType) {
          if (pollingState.initialHttpMethod().equalsIgnoreCase("PUT")
                  || pollingState.initialHttpMethod().equalsIgnoreCase("PATCH")) {
              return this.pollPutOrPatchAsync(pollingState, resourceType);
          }
          if (pollingState.initialHttpMethod().equalsIgnoreCase("POST")
                  || pollingState.initialHttpMethod().equalsIgnoreCase("DELETE")) {
              return this.pollPostOrDeleteAsync(pollingState, resourceType);
          }
          throw new IllegalArgumentException("PollingState contains unsupported http method:" + pollingState.initialHttpMethod());
      }
docs: Given a polling state representing state of an LRO operation, this method returns {@link Observable} object,
  when subscribed to it, a series of polling will be performed and emits each polling state to downstream.
  Polling will completes when the operation finish with success, failure or exception.
  
  @param pollingState the current polling state
  @param resourceType the java.lang.reflect.Type of the resource.
  @param <T> the type of the resource
  @return the observable of which a subscription will lead multiple polling action.