@Override public void copy(long srcOffsetBytes, long dstOffsetBytes, long lengthBytes) { assertBounds(srcOffsetBytes, lengthBytes, capacityBytes_); assertBounds(srcOffsetBytes, lengthBytes, capacityBytes_); long min = Math.min(srcOffsetBytes, dstOffsetBytes); long max = Math.max(srcOffsetBytes, dstOffsetBytes); assertBounds(min, lengthBytes, max); // regions must not overlap long srcAdd = getAddress(srcOffsetBytes); long dstAdd = getAddress(dstOffsetBytes); mem_.copy(srcAdd, dstAdd, lengthBytes); }