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 ) { 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;}
