docs: @Override
      public String[] split(String str) {
          Matcher matcher = pattern.matcher(str);
  
          String[] strings = { "" };
          if (matcher.matches()) {
              int groupCount = matcher.groupCount();
              strings = new String[groupCount];
              for (int i = 1; i <= groupCount; i++) {
                  strings[i - 1] = matcher.group(i);
              }
          }
          return strings;
      }