private function transferData(
        $parent,
        $child,
        $save = true,
        $emailFields = ['customer_email', 'email'],
        $excludeFields = ['entity_id', 'address_id', 'reserved_order_id']
    ) {
        foreach ($parent->getData() as $key => $value) {

            if (in_array($key, $excludeFields)) continue;
            if (in_array($key, $emailFields) && !$this->validateEmail($value)) continue;

            $child->setData($key, $value);
        }
        if ($save) $child->save();
    }