docs: public static Replacer makeTable(Map<String, String> dict)
      {
          if(dict == null || dict.isEmpty())
              return new Replacer(Pattern.compile("$"), new DummySubstitution(""));
          TableSubstitution tab = new TableSubstitution(new LinkedHashMap<String, String>(dict));
          StringBuilder sb = new StringBuilder(128);
          sb.append("(?>");
          for(String s : tab.dictionary.keySet())
          {
              sb.append("\\Q");
              sb.append(s);
              sb.append("\\E|");
          }
          if(sb.length() > 3) sb.setCharAt(sb.length() - 1, ')');
          else sb.append(')');
          return new Replacer(Pattern.compile(sb.toString()), tab);
      }