Need to mention that on ManyToOneType there are two versions of isDirty, one with a list of checkable, which calls the second version if isAlwaysDirtyChecked is true, which is always true in the implementation!