public override IEnumerable<Match> MatchAtom(string input)
 {
     var boundMatches = _expression.Matches(input);
     var result = new List<Match>(boundMatches.Count);
     foreach (var boundMatch in boundMatches)
     {
         var match = new Match(this.Name, "");
         result.Add(match);
         foreach (var matchItem in boundMatch)
         {
             match.AddMatch(new Match(matchItem.Key, matchItem.Value));
         }
     }
     return result;
 }