docs: public static String[] parseOutCompositeIndexComponents(String name) {
          String[] components = COMMA_PATTERN.split(name, -1);
  
          if (components.length == 1) {
              return null;
          }
  
          if (components.length > MAX_INDEX_COMPONENTS) {
              throw new IllegalArgumentException("Too many composite index attributes: " + name);
          }
  
          Set<String> seenComponents = new HashSet<String>(components.length);
          for (int i = 0; i < components.length; ++i) {
              String component = PredicateUtils.canonicalizeAttribute(components[i]);
              components[i] = component;
  
              if (component.isEmpty()) {
                  throw new IllegalArgumentException("Empty composite index attribute: " + name);
              }
              if (!seenComponents.add(component)) {
                  throw new IllegalArgumentException("Duplicate composite index attribute: " + name);
              }
          }
  
          return components;
      }