public void copy(BytesRef bytes, BytesRef out) {int left = blockSize - upto;if (bytes.length > left || currentBlock==null) {if (currentBlock != null) {addBlock(currentBlock);didSkipBytes = true;}currentBlock = new byte[blockSize];upto = 0;left = blockSize;assert bytes.length <= blockSize;}out.bytes = currentBlock;out.offset = upto;out.length = bytes.length;System.arraycopy(bytes.bytes, bytes.offset, currentBlock, upto, bytes.length);upto += bytes.length;}

public void Copy(BytesRef bytes, BytesRef @out){int left = blockSize - upto;if (bytes.Length > left || currentBlock == null){if (currentBlock != null){blocks.Add(currentBlock);blockEnd.Add(upto);didSkipBytes = true;}currentBlock = new byte[blockSize];upto = 0;left = blockSize;Debug.Assert(bytes.Length <= blockSize);}@out.Bytes = currentBlock;@out.Offset = upto;@out.Length = bytes.Length;Array.Copy(bytes.Bytes, bytes.Offset, currentBlock, upto, bytes.Length);upto += bytes.Length;}
