@Override
public void accept(OUT data) {
try {
if (null != encoder) {
Buffer bytes = encoder.apply(data);
if (bytes.remaining() > 0) {
write(bytes, onComplete, autoflush);
}
} else {
if (Buffer.class.isInstance(data)) {
write((Buffer) data, onComplete, autoflush);