private static List<String> getSplat(List<String> request, List<String> matched) {
        int nbrOfRequestParts = request.size();
        int nbrOfMatchedParts = matched.size();

        boolean sameLength = (nbrOfRequestParts == nbrOfMatchedParts);

        List<String> splat = new ArrayList<>();

        for (int i = 0; (i < nbrOfRequestParts) && (i < nbrOfMatchedParts); i++) {

            String matchedPart = matched.get(i);

            if (SparkUtils.isSplat(matchedPart)) {

                StringBuilder splatParam = new StringBuilder(request.get(i));

                if (!sameLength && (i == (nbrOfMatchedParts - 1))) {
                    for (int j = i + 1; j < nbrOfRequestParts; j++) {
                        splatParam.append("/");
                        splatParam.append(request.get(j));
                    }
                }
                try {
                    String decodedSplat = URLDecoder.decode(splatParam.toString(), "UTF-8");
                    splat.add(decodedSplat);
                } catch (UnsupportedEncodingException e) {
                }
            }
        }

        return Collections.unmodifiableList(splat);
    }
@return Returns the name and version of the protocol the request uses
src/main/java/spark/Request.java