From [here](https://github.com/rails/rails/pull/15349/files#diff-6a80fa5836403509e86a81c2117af391L21), it seems like we want to ensure that ```ActionDispatch::Http::Parameters#parameters``` always return an instance of ```HashWithIndifferentAccess```. By removing that, we need to make sure that when ```Rack::Request#POST``` returns ```nil``` we should pass an empty hash into ```normalize_encode_params``` which will then convert the hash to a ```HashWithIndifferentAccess```. However, I did realize that the tests will still pass if I had just remove  ```params.with_indifferent_access```.

The main duplication comes when  ```Rack::Request#POST```  returns ```{}``` or a non-empty hash. ```normalize_encode_params``` would have already called ```with_indifferent_access```.