docs: public static <T> PollingState<T> create(Response<ResponseBody> response, LongRunningOperationOptions lroOptions, int defaultRetryTimeout, Type resourceType, SerializerAdapter<?> serializerAdapter) throws IOException {
          PollingState<T> pollingState = new PollingState<>();
          pollingState.initialHttpMethod = response.raw().request().method();
          pollingState.defaultRetryTimeout = defaultRetryTimeout;
          pollingState.withResponse(response);
          pollingState.resourceType = resourceType;
          pollingState.serializerAdapter = serializerAdapter;
          pollingState.loggingContext = response.raw().request().header(LOGGING_HEADER);
          pollingState.finalStateVia = lroOptions.finalStateVia();
  
          String responseContent = null;
          PollingResource resource = null;
          if (response.body() != null) {
              responseContent = response.body().string();
              response.body().close();
          }
          if (responseContent != null && !responseContent.isEmpty()) {
              pollingState.resource = serializerAdapter.deserialize(responseContent, resourceType);
              resource = serializerAdapter.deserialize(responseContent, PollingResource.class);
          }
          final int statusCode = pollingState.response.code();
          if (resource != null && resource.properties != null
                  && resource.properties.provisioningState != null) {
              pollingState.withStatus(resource.properties.provisioningState, statusCode);
          } else {
              switch (statusCode) {
                  case 202:
                      pollingState.withStatus(AzureAsyncOperation.IN_PROGRESS_STATUS, statusCode);
                      break;
                  case 204:
                  case 201:
                  case 200:
                      pollingState.withStatus(AzureAsyncOperation.SUCCESS_STATUS, statusCode);
                      break;
                  default:
                      pollingState.withStatus(AzureAsyncOperation.FAILED_STATUS, statusCode);
              }
          }
          return pollingState;
      }