public LiList CloneList()
    {
        if (listHead == null)
        {
            return(null);
        }

        LiList current = listHead;
        LiList newList = null;

        while (current != null)
        {
            GameObject o = current.getData();

            GameObject copy = Object.Instantiate(o);

            LiList newNode = new LiList(copy, null, null);

            if (newList != null)
            {
                newList = newList.AppendList(newNode);
            }
            else
            {
                newList = newNode;
            }

            current = current.getNext();
        }

        return(newList);
    } // End of CloneList() //