code: public void send() throws ApiException, IOException {
          List<ImportService.Submit> reqs = prepareDataRequests();
          for (ImportService.Submit req : reqs) {
              try {
                  req.execute();
              } catch (Exception e) {
                  if (autoRetry) {
                      ReinsertSendCallback cb = new ReinsertSendCallback(this, null);
                      cb.innerCallback.failed(e, req);
                  }
  
                  // TODO: When we target Java7, we can just do a multi-exception catch
                  if (e instanceof ApiException) {
                      throw (ApiException) e;
                  } else if (e instanceof IOException) {
                      throw (IOException) e;
                  }
              }
          }
      }
docs: Sends the stored data to the iobeam cloud. This call is <b>BLOCKING</b>, which means the
  caller thread will not return until the network call is complete. Do not call on UI threads.
  This call will take a snapshot of the data store at this moment and send it; future data adds
  will be to a NEW data store.
  
  If `autoRetry` is set, failed requests will add the previous data to the new data store.
  
  @throws ApiException Thrown is the client is not initialized or if the device id has not been
  set.
  @throws IOException  Thrown if there are network issues connecting to iobeam cloud.