For some reason, my PrinterData object has a broken equals() method. This means that if you call somePrinter.equals(somePrinter), the result is false. Yuck!
How did I discover this simple bug?
When I put the PrinterData object in a JComboBox, the JComboBox wouldn't let me select anything! Weird.