i have this poll class 

```
class Poll
{
    public string question { get; set; }
    public Timer pollTimer { get; set; }
    public List<string> userVoted { get; set; }
    public Dictionary<string, int> choices { get; set; }
    public bool PollRunning { get; set; }

    public Poll(string question,Dictionary<string,int> choices)
    {
        this.question = question;
        this.choices = choices;
        this.pollTimer = new Timer(15000);
        this.PollRunning = true;
        this.userVoted = new List<string>();
    }

    public string pollResults()
    {
        string temp = "";

        foreach (KeyValuePair<string, int> keyValuePair in choices)
        {
            temp = temp + keyValuePair.Key + " " + keyValuePair.Value + ", ";
        }

        return string.Format("Poll Results: {0}", temp);
    }
}

```

and I have this code in a StartPool method

```
    static Dictionary<Channel, Poll> polls = new Dictionary<Channel, Poll>();
public void startPool(Channel channel)
{
            polls.Add(channel, new Poll(question, tempdict));
            polls[channel].pollTimer.Elapsed += new ElapsedEventHandler(pollTimer_Elapsed);
            polls[channel].pollTimer.Start();
}

```

When this method gets called 

```
    static void pollTimer_Elapsed(object sender, ElapsedEventArgs e)
    {
        //do stuff to the poll that called this.
    }

```

I need know what poll object's timer is calling this method
so I can do polls[channel].pollTimer.Stop(); and do polls[channel].pollResults();

As it is I have no idea which poll stop and post results for when this runs

i'm willing to post entire solution if that will help you help me.