code: public static boolean containsAllWords(final CharSequence word, final CharSequence... words) {
          if (StringUtils.isEmpty(word) || ArrayUtils.isEmpty(words)) {
              return false;
          }
          for (final CharSequence w : words) {
              if (StringUtils.isBlank(w)) {
                  return false;
              }
              final RegExp p = RegExp.compile(".*\\b" + w + "\\b.*");
              MatchResult m = p.exec(word.toString());
              if (m == null || m.getGroupCount() == 0) {
                  return false;
              }
          }
          return true;
      }
docs: <p>Checks if the String contains all words in the given array.</p>
  
  <p>
  A {@code null} String will return {@code false}. A {@code null}, zero
  length search array or if one element of array is null will return {@code false}.
  </p>
  
  <pre>
  WordUtils.containsAllWords(null, *)            = false
  WordUtils.containsAllWords("", *)              = false
  WordUtils.containsAllWords(*, null)            = false
  WordUtils.containsAllWords(*, [])              = false
  WordUtils.containsAllWords("abcd", "ab", "cd") = false
  WordUtils.containsAllWords("abc def", "def", "abc") = true
  </pre>
  
  
  @param word The CharSequence to check, may be null
  @param words The array of String words to search for, may be null
  @return {@code true} if all search words are found, {@code false} otherwise
  @since 3.5