code: private static String prependIfMissing(final String str, final CharSequence prefix, final boolean ignoreCase, final CharSequence... prefixes) {
          if (str == null || isEmpty(prefix) || startsWith(str, prefix, ignoreCase)) {
              return str;
          }
          if (prefixes != null && prefixes.length > 0) {
              for (final CharSequence p : prefixes) {
                  if (startsWith(str, p, ignoreCase)) {
                      return str;
                  }
              }
          }
          return prefix.toString() + str;
      }
docs: Prepends the prefix to the start of the string if the string does not
  already start with any of the prefixes.
  
  @param str The string.
  @param prefix The prefix to prepend to the start of the string.
  @param ignoreCase Indicates whether the compare should ignore case.
  @param prefixes Additional prefixes that are valid (optional).
  
  @return A new String if prefix was prepended, the same string otherwise.