code: public List<String> createEvents(FutureAPIResponse response)
        throws ExecutionException, InterruptedException, IOException {
      int status = response.get().getStatus();
      String message = response.get().getMessage();
  
      if (status != HTTP_OK) {
        throw new IOException(status + " " + message);
      }
      List<String> eventIds = new LinkedList<String>();
  
      for (JsonElement elem : (JsonArray) parser.parse(message)) {
        eventIds.add(((JsonObject) elem).get("eventId").getAsString());
      }
      return eventIds;
    }
docs: Synchronize a previously sent asynchronous create events (batch) request.
  
  @param response an instance of {@link FutureAPIResponse} returned from {@link
  #createEventAsFuture}
  @return List of event IDs from the server
  @throws ExecutionException indicates an error in the HTTP backend
  @throws InterruptedException indicates an interruption during the HTTP operation
  @throws IOException indicates an error from the API response