public override int Add(IBaseObject item) { var temp = item as BaseChain; if (temp == null) { temp = new BaseChain(1); temp.Set(item, 0); } return base.Add(temp); }