Hi @wo883721 

I read through the snippet you posted, but I don't see the issue. Can you explain a bit more? @chrisvest  
I don't understand，Why can this method change the value of `writerIndex`?

`setCharSequence`  method implementation
```
    public int setCharSequence(int index, CharSequence sequence, Charset charset) {
        return setCharSequence0(index, sequence, charset, false);
    }
```

`writeCharSequence`  method implementation
```
    @Override
    public int writeCharSequence(CharSequence sequence, Charset charset) {
        int written = setCharSequence0(writerIndex, sequence, charset, true);
        writerIndex += written;
        return written;
    }
``` @wo883721 It's a "set" method. They take a target index as an argument, and leaves the bytebuf writer index unchanged.

If it changed the writer index, it would have to be a "write" method. Oh I see. The javadocs have been copy-pasted from the write method. 
It has a problem that setCharSequence method description at ByteBuf.class
This is just a minor problem，I found that setCharSequence method description at ByteBuf.class。
```
    /**
     * Writes the specified {@link CharSequence} at the current {@code writerIndex} and increases
     * the {@code writerIndex} by the written bytes.
     *
     * @param index on which the sequence should be written
     * @param sequence to write
     * @param charset that should be used.
     * @return the written number of bytes.
     * @throws IndexOutOfBoundsException
     *         if {@code this.writableBytes} is not large enough to write the whole sequence
     */
    public abstract int setCharSequence(int index, CharSequence sequence, Charset charset);
```


buffer/src/main/java/io/netty/buffer/ByteBuf.java
buffer/src/main/java/io/netty/buffer/ByteBuf.java
diff --git a/buffer/src/main/java/io/netty/buffer/ByteBuf.java b/buffer/src/main/java/io/netty/buffer/ByteBuf.java
index fef30f125ae..908e110a57f 100644
--- a/buffer/src/main/java/io/netty/buffer/ByteBuf.java
+++ b/buffer/src/main/java/io/netty/buffer/ByteBuf.java
@@ -1338,15 +1338,15 @@ public ByteBuf setDoubleLE(int index, double value) {
     public abstract ByteBuf setZero(int index, int length);
 
     /**
-     * Writes the specified {@link CharSequence} at the current {@code writerIndex} and increases
-     * the {@code writerIndex} by the written bytes.
+     * Writes the specified {@link CharSequence} at the given {@code index}.
+     * The {@code writerIndex} is not modified by this method.
      *
      * @param index on which the sequence should be written
      * @param sequence to write
      * @param charset that should be used.
      * @return the written number of bytes.
      * @throws IndexOutOfBoundsException
-     *         if {@code this.writableBytes} is not large enough to write the whole sequence
+     *         if the sequence at the given index would be out of bounds of the buffer capacity
      */
     public abstract int setCharSequence(int index, CharSequence sequence, Charset charset);
 
