@Override
    char charAt(int i) {
      if (encodedString instanceof CharSequence) {
        return ((CharSequence)encodedString).charAt(start + i);
      }
      return (char)((byte[])encodedString)[start + i];
    }
@Override
    char charAt(int i)