runChecksBeforeConstraintRegistration

Runs all the necessary checks before registering a constraint.

This method shouldn't be called in user code, constrain should be used instead.