private ElementMember <T> GetElement <T>(List <ElementMember <T> > elements, List <T> source, int index, string id)
        {
            if (index >= elements.Count)
            {
                var element = new ElementMember <T>(
                    @id: id + index,
                    @attributes: attributes,
                    @name: string.Empty
                    );
                elements.Add(element);
            }

            var e = elements[index];

            e.Initialize(source, index, rawTarget, unityTarget);
            return(e);
        }
        private ElementMember <TElement> GetElement(int index)
        {
            if (index >= elements.Count)
            {
                var newElement = new ElementMember <TElement>(
                    @attributes: attributes,
                    @name: string.Empty,
                    @id: id + index
                    );

                elements.Add(newElement);
            }

            var e = elements[index];

            e.Initialize(memberValue, index, rawTarget, unityTarget);
            return(e);
        }