ValuedParameter[] valuedParameters = methodInfo.getValuedParameters();
for (int i = 0; i < valuedParameters.length; i++) {
Parameter parameter = valuedParameters[i].getParameter();
if (parameter.isAnnotationPresent(HeaderParam.class)) {
HeaderParam headerParam = parameter.getAnnotation(HeaderParam.class);
valuedParameters[i].setValue(request.getHeader(headerParam.value()));
} else {
ValuedParameter valuedParameter = valuedParameters[i];
if (valuedParameter.getValue() == null) {
valuedParameter.setValue(values[i]);
}