code: @SuppressWarnings("WeakerAccess")
      @TargetApi(Build.VERSION_CODES.HONEYCOMB)
      public static void putStringSet(final String key, final Set<String> value) {
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
              final Editor editor = getPreferences().edit();
              editor.putStringSet(key, value);
              editor.apply();
          } else {
              // Workaround for pre-HC's lack of StringSets
              putOrderedStringSet(key, value);
          }
      }
docs: Stores a Set of Strings. On Honeycomb and later this will call the native implementation in
  SharedPreferences.Editor, on older SDKs this will call {@link #putOrderedStringSet(String,
  Set)}.
  <strong>Note that the native implementation of {@link Editor#putStringSet(String,
  Set)} does not reliably preserve the order of the Strings in the Set.</strong>
  
  @param key   The name of the preference to modify.
  @param value The new value for the preference.
  @see android.content.SharedPreferences.Editor#putStringSet(String, java.util.Set)
  @see #putOrderedStringSet(String, Set)