@Override
 public ToolView addToolView(ToolViewDescriptor viewDescriptor) {
   ToolView toolView = getToolView(viewDescriptor.getId());
   if (toolView != null) {
     throw new IllegalStateException("pageComponent != null");
   }
   toolView = createToolView(viewDescriptor);
   pageComponentMap.put(viewDescriptor.getId(), toolView);
   doAddToolView(toolView);
   toolView.addPropertyChangeListener(pageComponentUpdater);
   return toolView;
 }
 /**
  * Creates a PageComponent for the given PageComponentDescriptor.
  *
  * @param descriptor the descriptor
  * @return the created PageComponent
  */
 protected ToolView createToolView(ToolViewDescriptor descriptor) {
   ToolView toolView = (ToolView) descriptor.createPageComponent();
   toolView.setContext(new DefaultPageComponentContext(this, createToolViewPane(toolView)));
   return toolView;
 }