code: @FromString
      public static LocalDateRange parse(CharSequence text) {
          Objects.requireNonNull(text, "text");
          for (int i = 0; i < text.length(); i++) {
              if (text.charAt(i) == '/') {
                  char firstChar = text.charAt(0);
                  if (firstChar == 'P' || firstChar == 'p') {
                      // period followed by date
                      Period duration = Period.parse(text.subSequence(0, i));
                      LocalDate end = LocalDate.parse(text.subSequence(i + 1, text.length()));
                      return LocalDateRange.of(end.minus(duration), end);
                  } else {
                      // date followed by date or period
                      LocalDate start = LocalDate.parse(text.subSequence(0, i));
                      if (i + 1 < text.length()) {
                          char c = text.charAt(i + 1);
                          if (c == 'P' || c == 'p') {
                              Period duration = Period.parse(text.subSequence(i + 1, text.length()));
                              return LocalDateRange.of(start, start.plus(duration));
                          }
                      }
                      LocalDate end = LocalDate.parse(text.subSequence(i + 1, text.length()));
                      return LocalDateRange.of(start, end);
                  }
              }
          }
          throw new DateTimeParseException("LocalDateRange cannot be parsed, no forward slash found", text, 0);
      }
docs: Obtains an instance of {@code LocalDateRange} from a text string such as
  {@code 2007-12-03/2007-12-04}, where the end date is exclusive.
  <p>
  The string must consist of one of the following three formats:
  <ul>
  <li>a representations of an {@link LocalDate}, followed by a forward slash,
  followed by a representation of a {@link LocalDate}
  <li>a representation of an {@link LocalDate}, followed by a forward slash,
  followed by a representation of a {@link Period}
  <li>a representation of a {@link Period}, followed by a forward slash,
  followed by a representation of an {@link LocalDate}
  </ul>
  
  @param text  the text to parse, not null
  @return the parsed range, not null
  @throws DateTimeParseException if the text cannot be parsed