code: public static Ipv6Range parse(String range) {
          int idx = range.indexOf(DASH);
          if (idx != -1) {
              Ipv6 start = Ipv6.parse(range.substring(0, idx));
              Ipv6 end = Ipv6.parse(range.substring(idx + 1, range.length()));
              return new Ipv6Range(start, end);
          } else {
              return parseCidr(range);
          }
      }
docs: Parses a <tt>String</tt> into an {@link Ipv6Range}.
  
  @param range a dash separated string of two IPv6 addresses e.g. "2001:db8::1-2001:db8::2"
  or a CIDR-notation string, e.g. "2001:0db8:0:cd30::/60"
  @return a new {@link Ipv6Range}
  @throws IllegalArgumentException if the string cannot be parsed
  @see #parseCidr(String)