TYPE_ARGLIST, arg_count, argMulti, true, tmp[0], descstr);
TYPE_ARGLIST, arg_count, argMulti, endcc, menu_lower, menu_raise, true, tmp[0], descstr);
    protected void createCCTable(CCNode table, String filename)    {        int[] nodestr;        String descstr;        try        {            String[] file = new CommentedLineNumberReader(                new InputStreamReader(ClassLoader                    .getSystemResourceAsStream(filename))).readLines();            /*             * if(file) { fseek(file, 0, SEEK_SET); while(!feof(file))             */            for (int f = 0; f < file.length; f++)            {                boolean argMulti = false; //is CC arg multipler                String[] tmp = file[f].split(",", 2);                descstr = new StringTokenizer(tmp[1], "\"", false).nextToken();                if (tmp[0].startsWith("!")) //a ! means arg multipler                {                    argMulti = true;                    tmp[0] = tmp[0].substring(1);                }                // now convert the string into a series of single bytes                String[] nodestrtmp = tmp[0].split(" ");                nodestr = new int[nodestrtmp.length];                for (int i = 0; i < nodestrtmp.length; i++)                {                    if (nodestrtmp[i].charAt(0) == nodestrtmp[i].charAt(1)                        && !Character.isDigit(nodestrtmp[i].charAt(0)))                        nodestr[i] = nodestrtmp[i].charAt(0) * -1;                    else                        nodestr[i] = (int) Integer.parseInt(nodestrtmp[i], 16);                }                //				nodestr[pos] = 0;                //				len = pos;                //				pos = 0;                //printf("%s\n", nodestr);                // now loop through the code string and add a series of nodes                int prev = 0;                boolean arg_counting = false;                int arg_count = 0;                int[] args = new int[32];                CCNode activeNode = table;                int nodeLevel = 0;                int i;                for (i = 0; i < nodestr.length; i++)                {                    //printf("%X: ", nodestr[i]);                    // if we encounter an argument value (0xAA, 0xBB, etc.),                    // start counting arguments                    // stop counting when the last code no is no longer equal                    // to the current                    if (arg_counting)                    {                        if (nodestr[i] >= 0 && prev != nodestr[i])                        {                            //printf("STOP! %d arguments!\n", arg_count);                            // now add latent node                            activeNode = addNode(activeNode, nodeLevel,                                nodestr[i - 1], TYPE_ARGLIST, arg_count,                                argMulti, false);                            nodeLevel++;                            arg_count = 0;                            arg_counting = false;                        }                    }                    //                    if ((nodestr[i] - 0xAA) % 0x11 == 0                    //                        && nodestr[i] != 0                    if (nodestr[i] < 0 && !arg_counting)                    {                        //System.out.println("COUNTING ARGUMENTS!\n");                        arg_counting = true;                    }                    if (arg_counting)                    {                        // if we're still counting arguments, increment the                        // argument count                        // and add the current value to the argument list                        args[arg_count] = nodestr[i];                        arg_count++;                    }                    else                    {                        // add default code node here                        boolean term = (i + 1 == nodestr.length);                        activeNode = addNode(activeNode, nodeLevel, nodestr[i],                            TYPE_CODE, 0, argMulti, term,                            (term ? tmp[0] : null), (term ? descstr : null));                        nodeLevel++;                        //printf("\n");                    }                    prev = nodestr[i];                }                if (arg_counting)                {                    // if we're still counting arguments, tidy up                    //printf("STOP! %d arguments!\n", arg_count);                    addNode(activeNode, nodeLevel, nodestr[i - 1],                        TYPE_ARGLIST, arg_count, argMulti, true, tmp[0],                        descstr);                    arg_counting = false;                    arg_count = 0;                }                //printf("\n");            }            //System.out.println("Created control node network!");        }        catch (NumberFormatException e)        {            e.printStackTrace();        }        catch (IOException e)        {            e.printStackTrace();        }    }