docs: static Matcher extractPrefixFromOr(Matcher matcher) {
      if (matcher instanceof OrMatcher) {
        // Get the prefix for the first condition
        List<Matcher> matchers = matcher.<OrMatcher>as().matchers();
        if (matchers.isEmpty()) {
          return matcher;
        }
        Matcher prefix = PatternUtils.getPrefix(matchers.get(0));
        if (prefix.alwaysMatches()) {
          return matcher;
        }
        List<Matcher> ms = new ArrayList<>();
        ms.add(PatternUtils.getSuffix(matchers.get(0)));
  
        // Verify all OR conditions have the same prefix
        for (Matcher m : matchers.subList(1, matchers.size())) {
          Matcher p = PatternUtils.getPrefix(m);
          if (!prefix.equals(p)) {
            return matcher;
          }
          ms.add(PatternUtils.getSuffix(m));
        }
  
        return SeqMatcher.create(prefix, OrMatcher.create(ms));
      }
      return matcher;
    }