set data before checking for primary key in crud model's constructor

I don't understand why primary key is checked before data are even set. How can existing record ever be detected?