IUIElement[] CreateUIEs()
        {
            List <IUIElement> resultList = new List <IUIElement>();

            for (int i = 0; i < groupElementCount; i++)
            {
                // GameObject go = GameObject.Instantiate(uiElementPrefab, this.GetTransform());
                GameObject go = GameObject.Instantiate(uiElementPrefab);
                go.transform.localScale = thisCanvasLocalScale;
                go.transform.SetParent(this.GetTransform());
                IUIAdaptor adaptor = (IUIAdaptor)go.GetComponent(typeof(IUIAdaptor));
                adaptor.SetIndex(i);
                adaptor.SetUpRecursively();
                adaptor.SetUpReferenceRecursively();

                IUIElement element = adaptor.GetUIElement();
                resultList.Add(element);
            }
            return(resultList.ToArray());
        }