docs: private void pushBasicProfile(JSONObject baseProfile) {
          try {
              String guid = getCleverTapID();
  
              JSONObject profileEvent = new JSONObject();
  
              if (baseProfile != null && baseProfile.length() > 0) {
                  Iterator i = baseProfile.keys();
                  while (i.hasNext()) {
                      String next = i.next().toString();
  
                      // need to handle command-based JSONObject props here now
                      Object value = null;
                      try {
                          value = baseProfile.getJSONObject(next);
                      } catch (Throwable t) {
                          try {
                              value = baseProfile.get(next);
                          } catch (JSONException e) {
                              //no-op
                          }
                      }
  
                      if (value != null) {
                          profileEvent.put(next, value);
  
                          // cache the valid identifier: guid pairs
                          if (Constants.PROFILE_IDENTIFIER_KEYS.contains(next)) {
                              try {
                                  cacheGUIDForIdentifier(guid, next, value.toString());
                              } catch (Throwable t) {
                                  // no-op
                              }
                          }
                      }
                  }
              }
  
              try {
                  String carrier = this.deviceInfo.getCarrier();
                  if (carrier != null && !carrier.equals("")) {
                      profileEvent.put("Carrier", carrier);
                  }
  
                  String cc = this.deviceInfo.getCountryCode();
                  if (cc != null && !cc.equals("")) {
                      profileEvent.put("cc", cc);
                  }
  
                  profileEvent.put("tz", TimeZone.getDefault().getID());
  
                  JSONObject event = new JSONObject();
                  event.put("profile", profileEvent);
                  queueEvent(context, event, Constants.PROFILE_EVENT);
              } catch (JSONException e) {
                  getConfigLogger().verbose(getAccountId(), "FATAL: Creating basic profile update event failed!");
              }
          } catch (Throwable t) {
              getConfigLogger().verbose(getAccountId(), "Basic profile sync", t);
          }
      }