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

            ((GameSettingSetterTranslationCommon)((IGameSettingGetter)lhs).CommonSetterTranslationInstance() !).DeepCopyIn(
                item: lhs,
                rhs: rhs,
                errorMask: errorMaskBuilder,
                copyMask: copyMask?.GetCrystal(),
                deepCopy: false);
            errorMask = GameSetting.ErrorMask.Factory(errorMaskBuilder);
        }