void (@Nullable Object item) { if (item == null && myNoFontItem != null) { item = myNoFontItem; } else { if (item instanceof FontInfo) { FontInfo info = getInfo(item); if (info == null) { List<FontInfo> list = myMonospacedOnly ? myMonoFonts : myAllFonts; item = list.isEmpty() ? null : list.get(0); } } if (item instanceof String) { FontInfo info = getInfo(item); if (info != null) item = info; } } if (!Comparing.equal(mySelectedItem, item) || item == myNoFontItem) { mySelectedItem = item; fireContentsChanged(this, -1, -1); } }