@Override public void updateItem(T item) { checkNotNullArgument(item, "item is null"); backgroundWorker.checkUIAccess(); checkState(); if (this.item != null && this.item.equals(item)) { T prevItem = item; this.item = item; fireItemChanged(prevItem); } if (data.containsKey(item.getId())) { data.put(item.getId(), item); attachListener(item); fireCollectionChanged(Operation.UPDATE, Collections.singletonList(item)); } }