List pars = new Vector();
    public static Request createFromHttpServletRequest (HttpServletRequest req)    throws ScillaException {        // source file        String source = config.getString(Config.SOURCE_DIR_KEY) +		File.separator + req.getPathInfo();        if (source.indexOf("/../") != -1) {            throw new ScillaIllegalRequestException();        }        // source mime type        String type = MimeType.getTypeFromFilename(source);        if (type == null) {            throw new ScillaException("unknow input type");        }        // conversion parameters from QUERY_STRING        List pars = new Vector();        String qs = req.getQueryString();        if (qs != null) {            StringTokenizer st = new StringTokenizer(qs, "&");            while (st.hasMoreTokens()) {                String t = st.nextToken();                int i = t.indexOf('=');                String k = URLDecoder.decode(i > 0 ? t.substring(0, i) : t);                String v = i > 0 ? URLDecoder.decode(t.substring(i+1)) : null;                pars.add(new RequestParameter(k, v));            }        }        return new Request(source, type, pars);    }