private void extractParamNamesWithIndexes() {
            List<String> nameList = new ArrayList<String>();
            List<Integer> idxList = new ArrayList<Integer>();
            Annotation[][] params = method.getParameterAnnotations();
            for (int i = 0; i < params.length; i++) {
                for (Annotation a : params[i]) {
                    if (a.annotationType().equals(Var.class)) {
                        String name = ((Var) a).value();
                        nameList.add(name);
                        idxList.add(i);
                    }
                }
            }
            int size = nameList.size();
            paramNames = new String[size];
            valueIdxs = new int[size];
            for (int i = 0; i < size; i++) {
                paramNames[i] = nameList.get(i);
                valueIdxs[i] = idxList.get(i);
            }
        }
Extracts information from Ribbon annotated method, to automatically populate the Ribbon request template.
A few validations are performed as well:
- a return type must be {@link com.netflix.ribbon.RibbonRequest}
- HTTP method must be always specified explicitly (there are no defaults)
- only one parameter with {@link com.netflix.ribbon.proxy.annotation.Content} annotation is allowed

@author Tomasz Bak
ribbon/src/main/java/com/netflix/ribbon/proxy/MethodTemplate.java