protected ulong Save(Message message) { if (message == null) { throw new ArgumentNullException("message"); } // GetTopic will return a topic for the given key. If topic exists and is Dying, // it will revive it and mark it as NoSubscriptions Topic topic = GetTopic(message.Key); // Mark the topic as used so it doesn't immediately expire (if it was in that state before). topic.MarkUsed(); return(topic.Store.Add(message)); }