what's a defensive check OOP?