docs: static ByteBuffer unescapeBytes(final CharSequence input)
      {
          int pos = 0, len = input.length();
          final byte[] result = new byte[len];
          ByteBuffer buffer = ByteBuffer.wrap(result);
          for (int i = 0; i < len; i++)
          {
              char c = input.charAt(i);
              if (c == '\\')
              {
                  if (i + 1 < len)
                  {
                      ++i;
                      c = input.charAt(i);
                      if (isOctal(c))
                      {
                          // Octal escape.
                          int code = digitValue(c);
                          if (i + 1 < len && isOctal(input.charAt(i + 1)))
                          {
                              ++i;
                              code = code * 8 + digitValue(input.charAt(i));
                          }
                          if (i + 1 < len && isOctal(input.charAt(i + 1)))
                          {
                              ++i;
                              code = code * 8 + digitValue(input.charAt(i));
                          }
                          result[pos++] = (byte) code;
                      }
                      else
                      {
                          switch (c)
                          {
                              case 'a':
                                  result[pos++] = 0x07;
                                  break;
                              case 'b':
                                  result[pos++] = '\b';
                                  break;
                              case 'f':
                                  result[pos++] = '\f';
                                  break;
                              case 'n':
                                  result[pos++] = '\n';
                                  break;
                              case 'r':
                                  result[pos++] = '\r';
                                  break;
                              case 't':
                                  result[pos++] = '\t';
                                  break;
                              case 'v':
                                  result[pos++] = 0x0b;
                                  break;
                              case '\\':
                                  result[pos++] = '\\';
                                  break;
                              case '\'':
                                  result[pos++] = '\'';
                                  break;
                              case '"':
                                  result[pos++] = '\"';
                                  break;
  
                              case 'x':
                                  // hex escape
                                  int code = 0;
                                  if (i + 1 < len && isHex(input.charAt(i + 1)))
                                  {
                                      ++i;
                                      code = digitValue(input.charAt(i));
                                  }
                                  else
                                  {
                                      throw new InvalidEscapeSequenceException(
                                              "Invalid escape sequence: '\\x' with no digits");
                                  }
                                  if (i + 1 < len && isHex(input.charAt(i + 1)))
                                  {
                                      ++i;
                                      code = code * 16 + digitValue(input.charAt(i));
                                  }
                                  result[pos++] = (byte) code;
                                  break;
  
                              default:
                                  throw new InvalidEscapeSequenceException(
                                          "Invalid escape sequence: '\\" + c + '\'');
                          }
                      }
                  }
                  else
                  {
                      throw new InvalidEscapeSequenceException(
                              "Invalid escape sequence: '\\' at end of string.");
                  }
              }
              else
              {
                  result[pos++] = (byte) c;
              }
          }
          buffer.limit(pos);
          return buffer;
      }