/**
   * Creates a new component object.
   *
   * @param projectTree Project tree that is updated on certain events.
   * @param container Container that provides the views to be shown in the table.
   */
  public CUserViewsComponent(final JTree projectTree, final IViewContainer container) {
    super(
        new CUserViewsTable(projectTree, container, container),
        new CViewFilterCreator(container),
        new CViewFilterHelp());

    Preconditions.checkNotNull(projectTree, "IE02013: Project tree argument can not be null");
    Preconditions.checkNotNull(container, "IE02014: Original container argument can not be null");

    this.container = container;

    container.addListener(m_containerListener);

    if (container.isLoaded()) {
      for (final INaviView view : container.getViews()) {
        view.addListener(m_viewListener);
      }
    }

    updateBorderText(getBorderText());
  }