code: public JSONObject getFirstReferringParamsSync() {
          getFirstReferringParamsLatch = new CountDownLatch(1);
          if (prefHelper_.getInstallParams().equals(PrefHelper.NO_STRING_VALUE)) {
              try {
                  getFirstReferringParamsLatch.await(LATCH_WAIT_UNTIL, TimeUnit.MILLISECONDS);
              } catch (InterruptedException e) {
              }
          }
          String storedParam = prefHelper_.getInstallParams();
          JSONObject firstReferringParams = convertParamsStringToDictionary(storedParam);
          firstReferringParams = appendDebugParams(firstReferringParams);
          getFirstReferringParamsLatch = null;
          return firstReferringParams;
      }
docs: <p>This function must be called from a non-UI thread! If Branch has no install link data,
  and this func is called, it will return data upon initializing, or until LATCH_WAIT_UNTIL.
  Returns the parameters associated with the link that referred the user. This is only set once,
  the first time the user is referred by a link. Think of this as the user referral parameters.
  It is also only set if isReferrable is equal to true, which by default is only true
  on a fresh install (not upgrade or reinstall). This will change on setIdentity (if the
  user already exists from a previous device) and logout.</p>
  
  @return A {@link JSONObject} containing the install-time parameters as configured
  locally.