subPathParam);
continue;
}
break;
}
PathMatching subPathMatching = currentUriTemplate.match(remainingPath);
if (subPathMatching == null) {
continue;
}
subPathParam = new HashMap<String, String>(inheritedPathParams);
subPathParam.putAll(subPathMatching.getParameters());
if (methodDescriptor.isSubResourceLocator()) {
return getCandidateMethods(request, getSubResource(
instance, methodDescriptor.getMethod(), request,
subPathMatching), subPathMatching.getRemainingURIPath(), method2PathParams,
subPathParam);
}
if (subPathMatching.isSlashOrEmpty()) {
if (!methodDescriptor.isSubResourceLocator()) {
Method method = methodDescriptor.getMethod();
result.add(method);
uriTemplateOfFirstMatchingRM = currentUriTemplate;
method2PathParams.put(method, subPathParam);