/**
  * {@inheritDoc}
  *
  * @since 3.4
  */
 public boolean show(ShowInContext aContext) {
   if (!isPinned() && aContext instanceof PropertyShowInContext) {
     PropertyShowInContext context = (PropertyShowInContext) aContext;
     partActivated(context.getPart());
     selectionChanged(context.getPart(), context.getSelection());
     return true;
   }
   return false;
 }
  private void updatePropertiesView(IStructuredSelection selection) {
    IWorkbench workbench = PlatformUI.getWorkbench();
    if (workbench == null) return;
    IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();
    if (window == null) return;
    IWorkbenchPage page = window.getActivePage();
    if (page == null) return;
    PropertySheet propertiesView = (PropertySheet) page.findView(IPageLayout.ID_PROP_SHEET);
    if (propertiesView == null) return;

    propertiesView.partActivated(EFactoryWithTreeEditor.this);
    propertiesView.selectionChanged(EFactoryWithTreeEditor.this, selection);
  }