public static AttractionRule DeepCopy(
     this IAttractionRuleGetter item,
     out AttractionRule.ErrorMask errorMask,
     AttractionRule.TranslationMask?copyMask = null)
 {
     return(((AttractionRuleSetterTranslationCommon)((IAttractionRuleGetter)item).CommonSetterTranslationInstance() !).DeepCopy(
                item: item,
                copyMask: copyMask,
                errorMask: out errorMask));
 }
        public static void DeepCopyIn(
            this IAttractionRuleInternal lhs,
            IAttractionRuleGetter rhs,
            out AttractionRule.ErrorMask errorMask,
            AttractionRule.TranslationMask?copyMask = null)
        {
            var errorMaskBuilder = new ErrorMaskBuilder();

            ((AttractionRuleSetterTranslationCommon)((IAttractionRuleGetter)lhs).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: lhs,
                rhs: rhs,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: false);
            errorMask = AttractionRule.ErrorMask.Factory(errorMaskBuilder);
        }