Hmm, the original meaning of InvalidAssociation is drifting, we should clean up these Exceptions eventually.