private List<MethodAcceptorPair> createAcceptors(RuntimeResource runtimeResource, boolean subResourceMode) {
List<MethodAcceptorPair> acceptorPairList = Lists.newArrayList();
int i = 0;
for (Resource resource : runtimeResource.getResources()) {
final Resource parentResource = runtimeResource.getParent() == null
? null : runtimeResource.getParentResources().get(i++);
final UriTemplate template = resource.getPathPattern().getTemplate();
final PushMatchedTemplateRouter templateRouter = parentResource == null ?
getTemplateRouter(subResourceMode, template, null)
: getTemplateRouter(subResourceMode, parentResource.getPathPattern().getTemplate(), template);
for (ResourceMethod resourceMethod : resource.getResourceMethods()) {
acceptorPairList.add(new MethodAcceptorPair(resourceMethod,
templateRouter,
pushedMatchedMethodResourceBuilder.build(resource, resourceMethod),
createSingleMethodAcceptor(resourceMethod)));