do not trim empty objects

This changes removes the trimming of empty objects.
Instead it just sets a new empty object at that location.

I have a use case where I want to `filter(requestSchema, { method: 'GET', headers: {} })`

And the removal of empty objects is not helpful.