code: public NonorderedRouter<T> pattern(String path, T target) {
      final Pattern<T> pattern = new Pattern<T>(path, target);
      patterns.add(pattern);
  
      List<Pattern<T>> patterns = reverse.get(target);
      if (patterns == null) {
        patterns = new ArrayList<Pattern<T>>();
        patterns.add(pattern);
        reverse.put(target, patterns);
      } else {
        patterns.add(pattern);
      }
  
      return this;
    }
docs: ----------------------------------------------------------------------------