docs: public static List parseAppliesTo(String appliesTo) {
          List matches = new ArrayList();
  
          if (appliesTo != null) {
              boolean quoted = false;
              int index = 0;
              ProductMatch match = new ProductMatch();
              for (int i = 0; i < appliesTo.length(); i++) {
                  char c = appliesTo.charAt(i);
                  if (c == '"') {
                      quoted = !quoted;
                  }
                  if (!quoted) {
                      if (c == ',') {
                          match.add(appliesTo.substring(index, i));
                          index = i + 1;
                          matches.add(match);
                          match = new ProductMatch();
                      } else if (c == ';') {
                          match.add(appliesTo.substring(index, i));
                          index = i + 1;
                      }
                  }
              }
  
              match.add(appliesTo.substring(index));
              matches.add(match);
          }
          return matches;
      }