@Override public int decode(final byte[] bytes, final BSONCallback callback) { BsonBinaryReader reader = new BsonBinaryReader(new ByteBufferBsonInput(new ByteBufNIO(ByteBuffer.wrap(bytes)))); try { BsonWriter writer = new BSONCallbackAdapter(new BsonWriterSettings(), callback); writer.pipe(reader); return reader.getBsonInput().getPosition(); //TODO check this. } finally { reader.close(); } }