if(target._totalTableLength > 0){//TODO do not backup table length as it remains constant
long bytesToTransfer = target._entriesCounterOffset-target._tableOffset+ target._bytesInUse;
srcBuffer.seek(target._tableOffset);
if(destinationBuffer.transferFrom(srcBuffer.getChannel(), totalTableLengthOffset, bytesToTransfer) != bytesToTransfer){
throw new JodbIOException("Unable to tansfer "+bytesToTransfer+" bytes");
}
destinationBuffer.seek(totalTableLengthOffset+bytesToTransfer);
}else{//new table
target._tableOffset = destinationBuffer.getCursorOffset();
destinationBuffer.writeLong(0);//reserve space for total length