#4137 continue immutable metamodel
#4137 move validate method logic into facet
#4137 move validation logic into facet
#4137 Fix build