﻿            Dictionary<string, bool> _tmp{TemplateTag:PropertyName} = null;
            _tmp{TemplateTag:PropertyName} = _uddSystemVersion < 2 ? null : this.ReadDictionaryElement(context, "{TemplateTag:ElementName}.BitTable", _tmp{TemplateTag:PropertyName});
            if (_tmp{TemplateTag:PropertyName} != null)
            {
                this.{TemplateTag:PropertyName} = ({TemplateTag:TypeName})0;
                foreach (var pair in this.{TemplateTag:PropertyName}IndexTable)
                {
                    this.{TemplateTag:PropertyName} |= (_tmp{TemplateTag:PropertyName}.ContainsKey(pair.Key) && _tmp{TemplateTag:PropertyName}[pair.Key]) ? ({TemplateTag:TypeName})Math.Pow(2, pair.Value) : 0;
                    if (!(_tmp{TemplateTag:PropertyName}.ContainsKey(pair.Key)))
                    {
                        var uiItem = this._{TemplateTag:PropertyName}Items.Where(i => (int)i.Value == pair.Value);
                        if (uiItem.Any() && _tmp{TemplateTag:PropertyName}.ContainsKey(uiItem.First().Key) && _tmp{TemplateTag:PropertyName}[uiItem.First().Key])
                        {
                            this.{TemplateTag:PropertyName} |= ({TemplateTag:TypeName})Math.Pow(2, pair.Value);
                        }
                    }
                }
            }
