code: public static String quote(String s) {
          int slashEIndex = s.indexOf("\\E");
          if (slashEIndex == -1)
              return "\\Q" + s + "\\E";
  
          StringBuilder sb = new StringBuilder(s.length() * 2);
          sb.append("\\Q");
          int current = 0;
          while ((slashEIndex = s.indexOf("\\E", current)) != -1) {
              sb.append(s.substring(current, slashEIndex));
              current = slashEIndex + 2;
              sb.append("\\E\\\\E\\Q");
          }
          sb.append(s.substring(current, s.length()));
          sb.append("\\E");
          return sb.toString();
      }
docs: Returns a literal pattern <code>String</code> for the specified
  <code>String</code>.
  <br>
  This method produces a <code>String</code> that can be used to
  create a <code>Pattern</code> that would match the string
  <code>s</code> as if it were a literal pattern. Metacharacters
  or escape sequences in the input sequence will be given no special
  meaning.
  
  @param  s The string to be literalized
  @return  A literal string replacement