why copy buffer? In fact, you can have the toJson method writes to a Writer which write to a ChannelBuffer.

```java
ChannelBuffer buffer = ChannelBuffers.dynamicBuffer();
Writer writer = new OutputStreamWriter(new ChannelBufferOutputStream(buffer), Charsets.UTF_8);
```