@Override
    public void initialize(URL url, ResourceBundle rb)
    {
        // Check if defautl server is set
        if (null == manager.getDefaultServer())
        {
            // No default server set. must be first run.
            logger.finer("server is not set");
            try
            {
                ServerListViewController.
                        createEditServerWindow(manager, null, null);
            } 
            catch (IOException exi)
            {
                DialogFactory.showSimpleDialogAndLog(
                        "Cannot create Server edit window.",
                        "Error", getWindow(), logger, Level.SEVERE, exi);
            }
        }
        // Associate columns with corresponding property of 
        // VirtualMachineRowEntry class.
        statusColumn.setCellValueFactory(new PropertyValueFactory("status"));
        serverColumn.setCellValueFactory(new PropertyValueFactory("serverName"));
        vmNameColumn.setCellValueFactory(new PropertyValueFactory("vmName"));
        osTypeColumn.setCellValueFactory(new PropertyValueFactory("osType"));
        buttonColumn.setCellValueFactory(new PropertyValueFactory("buttonBox"));

        // Set server list and set default server to Choice Box
        serverChoiceBox.setItems(manager.getServerList());
        serverChoiceBox.setValue(manager.getDefaultServer());

        // Set listener for Choice Box
        serverChoiceBox.getSelectionModel().selectedItemProperty().addListener(
                new ChangeListener<Server>()
                {
                    @Override
                    public void changed(
                            ObservableValue<? extends Server> ov,
                            Server oldServer,
                            Server newServer)
                    {
                        if (null != newServer)
                        {
                            try
                            {
                                manager.setDefaultServer(newServer);
                            } 
                            catch (MalformedURLException | RemoteException ex)
                            {
                                DialogFactory.showSimpleDialogAndLog(
                                        "Cannot set default server", "Error", 
                                        getWindow(), logger,Level.SEVERE, ex);
                            } 
                            try 
                            {
                                updateVmListPanel();                                
                            }
                            catch (InterruptedException ex)
                            {
                                DialogFactory.showSimpleDialogAndLog(
                                        "Cannot udpate server list","Error", 
                                        getWindow(), logger, Level.SEVERE, ex);
                            }
                        }
                    }
                });

        // Set listener for All Server Check Box
        showAllCheckBox.selectedProperty().addListener(new ChangeListener<Boolean>()
        {
            @Override
            public void changed(ObservableValue<? extends Boolean> ov, Boolean oldVal, Boolean newVal)
            {
                allServerMode = newVal;
                serverChoiceBox.setDisable(newVal);
                try
                {
                    updateVmListPanel();
                } catch (InterruptedException ex)
                {
                    DialogFactory.showSimpleDialogAndLog(
                            "Cannot udpate server list", "Error", getWindow(),
                            logger, Level.SEVERE, ex);
                }
            }
        });

        // Update VM list 
        try
        {
            updateVmListPanel();
        } catch (InterruptedException ex)
        {
            DialogFactory.showSimpleDialogAndLog(
                    "Cannot udpate server list", "Error", getWindow(), 
                    logger, Level.SEVERE, ex);
        }
    }