code: public static String removeIgnoreCase(final String str, final String remove) {
          if (isEmpty(str) || isEmpty(remove)) {
              return str;
          }
          return replaceIgnoreCase(str, remove, EMPTY, -1);
      }
docs: <p>
  Case insensitive removal of all occurrences of a substring from within
  the source string.
  </p>
  
  <p>
  A {@code null} source string will return {@code null}. An empty ("")
  source string will return the empty string. A {@code null} remove string
  will return the source string. An empty ("") remove string will return
  the source string.
  </p>
  
  <pre>
  StringUtils.removeIgnoreCase(null, *)        = null
  StringUtils.removeIgnoreCase("", *)          = ""
  StringUtils.removeIgnoreCase(*, null)        = *
  StringUtils.removeIgnoreCase(*, "")          = *
  StringUtils.removeIgnoreCase("queued", "ue") = "qd"
  StringUtils.removeIgnoreCase("queued", "zz") = "queued"
  StringUtils.removeIgnoreCase("quEUed", "UE") = "qd"
  StringUtils.removeIgnoreCase("queued", "zZ") = "queued"
  </pre>
  
  @param str
  the source String to search, may be null
  @param remove
  the String to search for (case insensitive) and remove, may be
  null
  @return the substring with the string removed if found, {@code null} if
  null String input
  @since 3.5