public int[] getIntArrayArgument(String name, boolean required){
        if(M.containsKey(name))
        {
            String a = M.get(name).trim();
            if("iI".indexOf(a.charAt(0)) == -1){illFormedArray(a," expected integer array");}
            if(a.charAt(1) != '[' || a.charAt(a.length()-1) != ']'){illFormedArray(a,"");}
            String[] parts = a.split(":");
            if(parts.length != 3){illFormedArray(a,"");}
            int start = Integer.parseInt(parts[0].trim().substring(2));
            int step = Integer.parseInt(parts[1].trim());
            int stop = Integer.parseInt(parts[2].trim().substring(0,parts[2].trim().length()-1));
            int l = ((stop-start)/step) +1;

            int[] res = new int[l];
            int i =0;
            while(i< res.length && start <= stop)
            {
                res[i++] = start;
                start += step;
            }
            return res;
        }
        else
        {
            if(required)
            {
                argumentMissing(name);
            }
        }
        return null;
    }