internal AIMSearchCriteriaComponent(AIMSearchCoordinator coordinator)
        {
            _coordinator = coordinator;
            _coordinator.SetSearchCriteriaComponent(this);

            _anatomicEntities = new BindingList <AnatomicEntity>();
            _anatomicEntityCharacteristics    = new BindingList <AnatomicEntityCharacteristic>();
            _imagingObservations              = new BindingList <ImagingObservation>();
            _imagingObservationCharacterisics = new BindingList <ImagingObservationCharacteristic>();
        }
        protected override IApplicationComponent CreateComponent()
        {
            AIMSearchCoordinator       coordinator = new AIMSearchCoordinator();
            AIMSearchCriteriaComponent AIMSearchCriteriaComponent = new AIMSearchCriteriaComponent(coordinator);

            Table <AIMSearchResult> table = new Table <AIMSearchResult>();

            InitializeResultsTable(table);
            SearchResultsComponent resultsComponent = new SearchResultsComponent(ToolbarSite, MenuSite, ToolNamespace, new AIMSearchResultsToolExtensionPoint(), table);

            coordinator.SetSearchResultsComponent(resultsComponent);

            SplitPane topPane          = new SplitPane("Search", AIMSearchCriteriaComponent, true);
            SplitPane bottomTopPane    = new SplitPane("Results", resultsComponent, 2.0f);
            SplitPane bottopBottomPane = new SplitPane("Retrieve Progress", CreateRetrieveProgressComponent(), 1.0f);
            SplitPane bottomPane       = new SplitPane("All Results", new SplitComponentContainer(bottomTopPane, bottopBottomPane, SplitOrientation.Horizontal), false);

            return(new SplitComponentContainer(topPane, bottomPane, SplitOrientation.Horizontal));
        }