private PendingResult<T> makeRequest() {
    if (delegate != null) {
      throw new IllegalStateException(
          "'await', 'awaitIgnoreError' or 'setCallback' was already called.");
    }
    validateRequest();
    switch (config.requestVerb) {
      case "GET":
        return delegate = context.get(config, responseClass, headers, params);
      case "POST":
        return delegate = context.post(config, responseClass, headers, params);
      default:
        throw new IllegalStateException(
            String.format("Unexpected request method '%s'", config.requestVerb));
    }
  }
Base implementation for {@code PendingResult}.

<p>{@code T} is the class of the result, {@code A} is the actual base class of this abstract
class, and R is the type of the request.
src/main/java/com/google/maps/PendingResultBase.java