Fixed an important bug that not all attributes have been copied from the random object to the corresponding object. Added new method _mergeMissingAttributes()