static object gmatch(string source, string pattern)
            {
                CheckNotNull("string.gmatch", source);
                CheckNotNull("string.gmatch", pattern);
                var helper = new gmatchIter(Regex.Matches(source, pattern));

                return((Func <object[], string[]>)helper.gmatch_iter);
            }
 static object gmatch(string source, string pattern)
 {
     CheckNotNull("string.gmatch", source);
     CheckNotNull("string.gmatch", pattern);
     var helper = new gmatchIter(Regex.Matches(source, pattern));
     return (Func<object[], string[]>)helper.gmatch_iter;
 }