mapNodes[i][NODE_BASE] = new CheckNode(logoScreenNames[i],
mapNodes[i][NODE_BASE] = new CheckNode(townMapNames[i],
    private static boolean[][] showCheckList(boolean[][] in, String text,        String title)    {        CheckNode topNode = new CheckNode("Town Maps", true, true);        topNode.setSelectionMode(CheckNode.DIG_IN_SELECTION);        CheckNode[][] mapNodes = new CheckNode[NUM_TOWN_MAPS][4];        for (int i = 0; i < mapNodes.length; i++)        {            if (in == null || in[i][NODE_BASE])            {                mapNodes[i][NODE_BASE] = new CheckNode(logoScreenNames[i],                    true, true);                mapNodes[i][NODE_BASE]                    .setSelectionMode(CheckNode.DIG_IN_SELECTION);                if (in == null || in[i] == null || in[i][NODE_TILES])                    mapNodes[i][NODE_BASE]                        .add(mapNodes[i][NODE_TILES] = new CheckNode("Tiles",                            false, true));                if (in == null || in[i] == null || in[i][NODE_ARR])                    mapNodes[i][NODE_BASE]                        .add(mapNodes[i][NODE_ARR] = new CheckNode(                            "Arrangement", false, true));                if (in == null || in[i] == null || in[i][NODE_PAL])                    mapNodes[i][NODE_BASE]                        .add(mapNodes[i][NODE_PAL] = new CheckNode("Palettes",                            false, true));                topNode.add(mapNodes[i][NODE_BASE]);            }        }        JTree checkTree = new JTree(topNode);        checkTree.setCellRenderer(new CheckRenderer());        checkTree.getSelectionModel().setSelectionMode(            TreeSelectionModel.SINGLE_TREE_SELECTION);        checkTree.putClientProperty("JTree.lineStyle", "Angled");        checkTree.addMouseListener(new NodeSelectionListener(checkTree));        //if user clicked cancel, don't take action        if (JOptionPane.showConfirmDialog(null, pairComponents(            new JLabel(text), new JScrollPane(checkTree), false), title,            JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.CANCEL_OPTION)            return null;        final boolean[][] a = new boolean[NUM_TOWN_MAPS][4];        for (int m = 0; m < NUM_TOWN_MAPS; m++)            for (int i = 0; i < 4; i++)                a[m][i] = mapNodes[m][i] == null ? false : mapNodes[m][i]                    .isSelected();        return a;    }