docs: @Nullable
      static Map<String, Object> jsonObjectToMapWithoutKeys(
              @Nullable JSONObject jsonObject,
              @Nullable Set<String> omitKeys) {
          if (jsonObject == null) {
              return null;
          }
  
          final Set<String> keysToOmit = omitKeys == null ? new HashSet<String>() : omitKeys;
          final Map<String, Object> map = new HashMap<>();
          final Iterator<String> keyIterator = jsonObject.keys();
          while (keyIterator.hasNext()) {
              String key = keyIterator.next();
              Object value = jsonObject.opt(key);
              if (NULL.equals(value) || value == null || keysToOmit.contains(key)) {
                  continue;
              }
  
              map.put(key, value);
          }
  
          if (map.isEmpty()) {
              return null;
          } else {
              return map;
          }
      }