private List<String> fixNameTypes (final String[] nameTypes, Node n) throws Exception
    {
        List<String> names = new LinkedList<String>();
        int len = nameTypes.length;
        for (int i = 0; i < len; i++)
        {
            String name = nameTypes[i];
            names.add(name);
            InvarType type = searchType(name, n);
            if (TypeID.VEC == type.getId())
            {
                if (i == len - 1)
                    names.add(TypeID.INT32.getName());
            }
            else if (TypeID.MAP == type.getId())
            {
                if (i == len - 1)
                {
                    names.add(TypeID.STRING.getName());
                    names.add(TypeID.INT32.getName());
                }
                else if (i == len - 2)
                {
                    names.add(TypeID.STRING.getName());
                }
            }
            else
            {
            }
        }
        return names;
    }