@NotNull
  private static <V> List<V> parseValues(@NotNull String part, @NotNull Function<? super String, ? extends V> processor) {
    try {
      if (part.startsWith("[") && part.endsWith("]")) {
        String unwrappedPart = part.substring(1, part.length() - 1);
        String[] values = unwrappedPart.split(",");
        return Arrays.stream(values)
          .filter(value -> !value.isEmpty())
          .map(processor)
          .collect(Collectors.toList());
      }
      return Collections.emptyList();
    }
    catch (IllegalArgumentException e) {
      return Collections.emptyList();
    }
  }
@NotNull
  private static <V> List<V> parseValues(@NotNull String part, @NotNull Function<? super String, ? extends V> processor)