private void createGui() {
    sash = new SashForm(guiControl, SWT.HORIZONTAL);
    control = sash;
    control.setLayoutData(new GridData(GridData.FILL_BOTH));

    component = new XModelObjectTreeViewComponent(this);
    component.setModelObject(object);
    component.setCache(new XModelObjectCache(object));
    for (int i = 0; i < filters.length; i++) component.addFilter(filters[i]);
    component.createControl(sash);
  }
 protected void disposeGui() {
   if (component != null) component.dispose();
   component = null;
   if (sash != null && !sash.isDisposed()) sash.dispose();
   sash = null;
   super.disposeGui();
 }
 public ISelectionProvider getSelectionProvider() {
   return component == null ? null : component.getSelectionProvider();
 }
 public TreeViewer getTreeViewer() {
   return component == null ? null : component.getViewer();
 }