ui/src/main/java/ucar/nc2/ui/ToolsUI.java
private static void setDataset() {
        // do it in the swing event thread
        SwingUtilities.invokeLater(( ) -> {
            int pos = wantDataset.indexOf('#');
            if (pos > 0) {
                final String catName = wantDataset.substring(0, pos); // {catalog}#{dataset}
                if (catName.endsWith(".xml")) {
                    ui.makeComponent(null, "THREDDS");
                    ui.threddsUI.setDataset(wantDataset);
                    ui.tabbedPane.setSelectedComponent(ui.threddsUI);
                }
                return;
            }

            // default
            ui.openNetcdfFile(wantDataset);
        });
    }
private static void setDataset() {
        // do it in the swing event thread
        SwingUtilities.invokeLater(( ) -> {
            int pos = wantDataset.indexOf('#');
            if (pos > 0) {
                final String catName = wantDataset.substring(0, pos); // {catalog}#{dataset}
                if (catName.endsWith(".xml")) {
                    ui.makeComponent(null, "THREDDS");
                    ui.threddsUI.setDataset(wantDataset);
                    ui.tabbedPane.setSelectedComponent(ui.threddsUI);
                }
                return;
            }

            // default
            ui.openNetcdfFile(wantDataset);
        });
    }
Handle messages.