Customer getNext(List queue) { if (queue == null) return null; LinkedList myQueue = (LinkedList)queue; // AVOID: Cast to concrete type. return myQueue.poll(); } Customer getNext(Queue queue) { if (queue == null) return null; return queue.poll(); // GOOD: Use abstract type. }