private MessageDispatch GetFirst() { if(this.size > 0) { for(int i = MAX_PRIORITY - 1; i >= 0; i--) { LinkedList<MessageDispatch> list = channels[i]; if(list.Count != 0) { return list.First.Value; } } } return null; } }