if (!(model instanceof DataModelContainer)) {
throw new IllegalArgumentException("model must be of type DataModelContainer but have: " + model.getClass().getName());
}
TreeViewer ret = new TreeViewer(new DataModelTree((DataModelContainer) model));
ret.setTreePopupMenu(new DefaultTreePopupMenu());
ret.manageGrabFocusEvents(fireGrabFocusEvents, acceptGrabFocusEvents);
return ret;