docs: private void queueEvent(final Context context, final JSONObject event, final int eventType) {
          postAsyncSafely("queueEvent", new Runnable() {
              @Override
              public void run() {
                  if (isCurrentUserOptedOut()) {
                      String eventString = event == null ? "null" : event.toString();
                      getConfigLogger().debug(getAccountId(), "Current user is opted out dropping event: " + eventString);
                      return;
                  }
                  if(shouldDeferProcessingEvent(event,eventType)){
                      getConfigLogger().debug(getAccountId(),"App Launched not yet processed, re-queuing event "+ event + "after 2s");
                      getHandlerUsingMainLooper().postDelayed(new Runnable() {
                          @Override
                          public void run() {
                              postAsyncSafely("queueEventWithDelay", new Runnable() {
                                  @Override
                                  public void run() {
                                      lazyCreateSession(context);
                                      addToQueue(context, event, eventType);
                                  }
                              });
                          }
                      },2000);
                  }else {
                      lazyCreateSession(context);
                      addToQueue(context, event, eventType);
                  }
              }
          });
      }