private void contributeResource(
     DeploymentContext context, Service service, Route binding, Map<String, String> filterParams)
     throws URISyntaxException {
   List<FilterParamDescriptor> params = new ArrayList<FilterParamDescriptor>();
   ResourceDescriptor resource = context.getGatewayDescriptor().addResource();
   resource.role(service.getRole());
   resource.pattern(binding.getPath());
   List<Policy> policyBindings = binding.getPolicies();
   if (policyBindings == null) {
     policyBindings = serviceDefinition.getPolicies();
   }
   if (policyBindings == null) {
     // add default set
     addDefaultPolicies(context, service, filterParams, params, resource);
   } else {
     addPolicies(context, service, filterParams, params, resource, policyBindings);
   }
   addDispatchFilter(context, service, resource, binding);
 }