This function should be use with care (rec should only be allocate once) * Params: rec = is set to null after
See Implementation
This function should be use with care (rec should only be allocate once) * Params: rec = is set to null after