refresh() on TreeViewer causes getters to be called on Observable when
the TreeViewer is diposed; if refresh is given the affected item as a
parameter this can't happen