code: @Nullable
      public static ArrayList<String> optStringArrayList(@Nullable Bundle bundle, @Nullable String key, @Nullable ArrayList<String> fallback) {
          if (bundle == null) {
              return fallback;
          }
          return bundle.getStringArrayList(key);
      }
docs: Returns a optional {@link java.lang.String} {@link java.util.ArrayList}. In other words, returns the value mapped by key if it exists and is a {@link java.lang.String} {@link java.util.ArrayList}.
  The bundle argument is allowed to be {@code null}. If the bundle is null, this method returns null.
  @param bundle a bundle. If the bundle is null, this method will return null.
  @param key a key for the value.
  @param fallback fallback value.
  @return a {@link java.lang.String} array value if exists, null otherwise.
  @see android.os.Bundle#getStringArrayList(String)