Here is the situation, I have a struct called Item, this struct can nest same type as an array in itself! also it is identifiable, then I have a class which