It would be better to check if in the headerBlock is still space before create a new one all the time. Some like:

```java
if (headerBlock.isWritable(fragment.readableBytes) {
    headerBlock.writeBytes(fragment);
} else {
   ...
}
fragement.release()
```