/** Make a new ticket available at the specified price for the specified flight. */ public synchronized void publishTicket(String flightCode, int price) { Ticket ticket = new Ticket(flightCode, currentTicketNumber++, price); Set<Ticket> ticketsForFlightCode = ticketsByFlightCode.get(ticket.getFlightCode()); if (ticketsForFlightCode == null) { ticketsForFlightCode = new LinkedHashSet<Ticket>(); ticketsByFlightCode.put(ticket.getFlightCode(), ticketsForFlightCode); } ticketsForFlightCode.add(ticket); }