if (parent instanceof Refreshable) {
final LinkedList<String> path = new LinkedList<String>();
final Node root = getRootAndAppendPath(path, node);
final Viewer viewer = getViewer(node);
Refreshable refreshable = (Refreshable) parent;
refreshable.refresh();
if (viewer != null) {
Viewers.async(new Runnable() {
@Override
public void run() {
selectPath(viewer, root, path);