code: protected RoutesDefinition getRoutesDefinition(String name, String version) throws AdapterException {
          String modifier = "";
          Map<String,String> params = getHandlerParameters();
          if (params != null) {
              for (String paramName : params.keySet()) {
                  if (modifier.length() == 0)
                      modifier += "?";
                  else
                      modifier += "&amp;";
  
                  modifier += paramName + "=" + params.get(paramName);
              }
          }
  
          Map<String,String> customAttrs = null;
          String customAttrString = getAttributeValue(CUSTOM_ATTRIBUTES);
          if (!StringHelper.isEmpty(customAttrString)) {
              customAttrs = StringHelper.parseMap(customAttrString);
          }
  
          RoutesDefinitionRuleSet rdrs;
          if (version == null)
              rdrs = CamelRouteCache.getRoutesDefinitionRuleSet(name, modifier, customAttrs);
          else
              rdrs = CamelRouteCache.getRoutesDefinitionRuleSet(new AssetVersionSpec(name, version), modifier, customAttrs);
  
          if (rdrs == null) {
              throw new AdapterException("Unable to load Camel route: " + name + modifier);
          }
          else {
              super.logdebug("Using RoutesDefinition: " + rdrs.getRuleSet().getLabel());
              return rdrs.getRoutesDefinition();
          }
      }
docs: Returns the latest version whose attributes match the custom attribute
  criteria specified via "CustomAttributes".
  Override to apply additional or non-standard conditions.
  @param version