public Message poll() { if (isEmpty()) return null; Message m = realtimeQueue.poll(); if (m == null) { m = priorityQueue.poll(); } if (m == null) { m = orderedQueue.poll(); } if (m == null) { m = basicQueue.poll(); } if (size > 0) size--; return m; }