// Bypass to AbstractManager's BaseRecycle() private TimedEvent NewBaseRecycle(TimedEvent oldEvent) { // Look for the node to recycle ListNode queriedNode = this.NewBaseFind(oldEvent, this.activeList); // Give up if node wasn't found if (queriedNode == null) { return(null); } // Clear data queriedNode.BaseReset(); // Move it from the active to reserve queriedNode = this.activeList.Pop(queriedNode); this.reservedList.PushFront(queriedNode); return(queriedNode as TimedEvent); }