public void Initialize([NotNull] CompositeItem item)
    {
      Assert.ArgumentNotNull(item, "item");

      this.Item = item;
      foreach (var version in this.Versions)
      {
        Assert.IsNotNull(version, "version");

        version.Initialize(this);
      }
    }
        public void Initialize([NotNull] CompositeItem parent)
        {
            Assert.ArgumentNotNull(item, "item");

            this.Parent = parent;
            foreach (var version in this.Versions)
            {
                Assert.IsNotNull(version, "version");

                version.Initialize(this);
            }
        }
 public abstract void CreateChildItem([NotNull] ID itemID, [NotNull] string itemName, [NotNull] CompositeItem parentItem, [NotNull] CallContext context);
 public override void CreateChildItem(ID itemID, string itemName, CompositeItem parentItem, CallContext context)
 {
 }