public override void Visit(PKControl item)
 {
     canAddVisitor = new PKItemCanAddVisitor(newItem);
     item.Accept(canAddVisitor);
     if (canAddVisitor.CanAdd)
     {
         if (newItem is PKControl)
         {
             (newItem as PKControl).Items.ToList().ForEach(x =>
             {
                 item.Add(x);
             });
         }
         else
         {
             item.Add(newItem);
         }
         this.Added = true;
     }
 }
 public override void Visit(PKControl item)
 {
     item.Add(this.currentItem);
 }