public virtual void CastVote(QuestionVote vote) { lock (locableObject) { if (vote.User.Equals(user)) throw new Exception("Owner Cannot vote"); votes.Add(vote); vote.AddPoint(user); } }