/// <summary>
        /// Creates a deep copy of the given match object.
        /// </summary>
        /// <param name="match">Match object to copy.</param>
        /// <returns>Returns a deep copy.</returns>
        public Match Clone(Match match)
        {
            Match newMatch = new Match(null);
            newMatch.Set(match);

            newMatch.SubMatchedList = null;


            for (int i = 0; i < match.SubMatchNumber; i++)
                newMatch.Add(Clone(match.GetSubMatch(i)));

            return (newMatch);
        }