docs: private static HashSet<String> stringToStringValues(String stringValue)
        throws IOException {
      // should be improved to support escaped characters
      HashSet<String> stringValues = new HashSet<>();
      JSONParser jsonParser = new JSONParser(stringValue);
      int event = jsonParser.nextEvent();
      if (event == JSONParser.ARRAY_START) {
        while ((event = jsonParser.nextEvent()) != JSONParser.ARRAY_END) {
          if (jsonParser.getLevel() == 1) {
            switch (event) {
            case JSONParser.STRING:
              stringValues.add(jsonParser.getString());
              break;
            case JSONParser.BIGNUMBER:
            case JSONParser.NUMBER:
            case JSONParser.LONG:
              stringValues.add(jsonParser.getNumberChars().toString());
              break;
            case JSONParser.BOOLEAN:
              stringValues.add(Boolean.toString(jsonParser.getBoolean()));
              break;
            default:
              // do nothing
              break;
            }
          }
        }
      } else {
        throw new IOException("unsupported json structure");
      }
      return stringValues;
    }