@Override
    public T set(int index, T item) {
        T oldItem = internal.set(index, item);

        if (!ValueUtils.areEqual(oldItem, item)) {
            List<T> oldItems = Collections.unmodifiableList(Collections.singletonList(oldItem));
            List<T> newItems = Collections.unmodifiableList(Collections.singletonList(oldItem));
            doNotifyListenersOfChangedValues(index, oldItems, newItems);
        }

        return oldItem;
    }
@ Override public T set ( int index , T item ) { T oldItem = internal . set ( index , item ) ; if ( ! ValueUtils . areEqual ( oldItem , item ) ) { List < T > oldItems = Collections . unmodifiableList ( Collections . singletonList ( oldItem ) ) ; List < T > newItems = Collections . unmodifiableList ( Collections . singletonList ( oldItem ) ) ; doNotifyListenersOfChangedValues ( index , oldItems , newItems ) ; } return oldItem ; }
@see AbstractReadableWritableListProperty#set(int, Object)
@see List#set(int, Object)