code: static ByteBufferRange decode(String string) {
          int prefix = string.indexOf(':');
          int sep = string.indexOf('-', prefix + 1);
          checkArgument(prefix >= 0 && sep >= 0, "Invalid split string: %s", string);
  
          char[] start = new char[prefix + sep - (prefix + 1)];
          string.getChars(0, prefix, start, 0);
          string.getChars(prefix + 1, sep, start, prefix);
  
          char[] end = new char[prefix + string.length() - (sep + 1)];
          string.getChars(0, prefix, end, 0);
          string.getChars(sep + 1, string.length(), end, prefix);
  
          byte[] startBytes, endBytes;
          try {
              startBytes = Hex.decodeHex(start);
              endBytes = Hex.decodeHex(end);
          } catch (DecoderException e) {
              throw new IllegalArgumentException(format("Invalid split string: %s", string));
          }
  
          return new ByteBufferRangeImpl(ByteBuffer.wrap(startBytes), ByteBuffer.wrap(endBytes), -1, false);
      }
docs: Parses a hex string that looks like "commonPrefix:startSuffix-endSuffix".