private RouteAction MatchMethodTakingExistingResourceAndForm(ResourceType resourceType)
{
var existingTypeParam = Parameters.SingleOrDefaultIfMultiple(x => x.Type.IsAssignableFrom(resourceType));
if (existingTypeParam == null)
return null;
// Find exactly one form parameter after resource arg:
var formParam = Parameters.Skip(existingTypeParam.Position + 1).SingleOrDefaultIfMultiple(x => x.IsTransformedType);
if (formParam == null)
return null;
var resourceTypeParam = Parameters.Where(x => x.IsResource && x.Type.IsAssignableFrom(resourceType));
return resourceTypeParam.Any() ? new HandlerMethodTakingFormInvoker(this, formParam, existingTypeParam) : null;
}