list.setListData(functions);
list.setListData(functions); */
    void openScript(TreePath path) {        if (path == null)            return;        Object node = path.getLastPathComponent();        if (node == null)            return;        String scriptName = (String) scriptNames.get(node);        if (scriptName == null)            return;        JInternalFrame w = (JInternalFrame) fileWindows.get(scriptName);        if (w != null) {            try {                if (w.isIcon())                    w.setMaximum(true);                w.show();                w.setSelected(true);            } catch (Exception exc) {            }        } else {            SourceInfo si = (SourceInfo) sourceNames.get(scriptName);            if (si == null) {                System.out.println("debugger error: Couldn't find source: " + scriptName);            }            swingInvoke(CreateFileWindow.action(this, si, -1));        }        // display functions for opened script file        Vector functions = new Vector();        Iterator it = functionNames.entrySet().iterator();        while (it.hasNext()) {            Map.Entry entry = (Map.Entry) it.next();            ScriptItem si = (ScriptItem) entry.getValue();            if (scriptName.equals(si.getSourceInfo().getUrl())) {                functions.add(entry.getKey());            }        }        Collections.sort(functions);        list.setListData(functions);    }