public override void Assign(RepositoryItem item)
        {
            RepositoryItemMyPopupContainerEdit source = item as RepositoryItemMyPopupContainerEdit;

            BeginUpdate();
            try
            {
                base.Assign(item);
                this.cacheSize = source.CacheSize;
            }
            finally
            {
                EndUpdate();
            }
        }
        protected override void SetPropertyStore(Size size)
        {
            base.SetPropertyStore(size);

            RepositoryItemMyPopupContainerEdit ri = OwnerEdit.Properties as RepositoryItemMyPopupContainerEdit;

            if (ri.CacheSize != null)
            {
                string parent_type = OwnerEdit.Parent.GetType().ToString();
                if (!ri.CacheSize.ContainsKey(parent_type))
                {
                    ri.CacheSize.Add(parent_type, size);
                    return;
                }

                ri.CacheSize[parent_type] = size;
            }
        }
 static MyPopupContainerEdit()
 {
     RepositoryItemMyPopupContainerEdit.RegisterMyPopupContainerEdit();
 }