code: @SuppressWarnings("WeakerAccess")
      @TargetApi(Build.VERSION_CODES.HONEYCOMB)
      public static Set<String> getStringSet(final String key, final Set<String> defValue) {
          SharedPreferences prefs = getPreferences();
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
              return prefs.getStringSet(key, defValue);
          } else {
              // Workaround for pre-HC's missing getStringSet
              return getOrderedStringSet(key, defValue);
          }
      }
docs: Retrieves a Set of Strings as stored by {@link #putStringSet(String, Set)}. On Honeycomb and
  later this will call the native implementation in SharedPreferences, on older SDKs this will
  call {@link #getOrderedStringSet(String, Set)}.
  <strong>Note that the native implementation of {@link SharedPreferences#getStringSet(String,
  Set)} does not reliably preserve the order of the Strings in the Set.</strong>
  
  @param key      The name of the preference to retrieve.
  @param defValue Value to return if this preference does not exist.
  @return Returns the preference values if they exist, or defValues otherwise.
  @throws ClassCastException if there is a preference with this name that is not a Set.
  @see android.content.SharedPreferences#getStringSet(String, java.util.Set)
  @see #getOrderedStringSet(String, Set)