@SuppressWarnings("unchecked") private static <T> T copy(ByteBufHolder o) { return (T) o.replace(Unpooled.copiedBuffer(o.content())); }
@SuppressWarnings("unchecked") private static <T> T retainedDuplicate(ByteBufHolder o) { return (T) o.replace(o.content().retainedDuplicate()); }
private static <T> T copyAndRelease(ByteBufHolder o) { try { final ByteBuf content = Unpooled.wrappedBuffer(ByteBufUtil.getBytes(o.content())); @SuppressWarnings("unchecked") final T copy = (T) o.replace(content); return copy; } finally { ReferenceCountUtil.safeRelease(o); } }