code: @Override
  	public byte[] toBinary(Object value, Object meta, boolean insertMeta) {
  		return toBinary(value, meta, insertMeta, (input) -> {
  
  			// Get ION writer from cache
  			CachedWriter writer = writers.poll();
  			if (writer == null) {
  				writer = createWriter(false);
  			} else {
  				writer.buffer.reset();
  			}
  
  			// Serialize data
  			write(writer.writer, null, input);
  			writer.writer.finish();
  			byte[] bytes = writer.buffer.toByteArray();
  			if (writers.size() > Config.POOL_SIZE) {
  
  				// Writer pool is full
  				return bytes;
  			}
  
  			// Recycle ION writer instance
  			writers.add(writer);
  			return bytes;
  		}
docs: --- IMPLEMENTED WRITER METHODS ---