code: public static Set<String> split(String str, String sepStr) {
          // Split but watch out for empty substrings.
          Set<String> result = new HashSet<String>();
          if (str != null) {
              for (String value : str.split(sepStr)) {
                  if (value.length() > 0) {
                      result.add(value);
                  }
              }
          }
          return result;
      }
docs: Split the given string using the given separate, returning the components as a
  set. This method does the opposite as {@link #concatenate(Collection, String)}.
  If a null or empty string is passed, an empty set is returned.
  
  @param str       String to be split.
  @param sepStr    Separator string that lies between values.
  @return          Set of separated substrings. The set may be empty but it will
  not be null.