Since for some reason, the native headers sometimes are immutable even though the accessor says that the headers are mutable, then we have to ensure their
* mutability. We do so by first making a mutable copy of the native headers, then by removing the native headers from the headers map and replacing them with a mutable copy
fixes#1184
we wanted to improve the performance of wrapping reactor by introducing refactoring that used onLastOperator instead of onEach. ALthough the performance was improved, the code stopped working the way it should.
with this commit, we're coming back to making the feature work again but the performance might decline slightly.
fixes gh-1204
fixes gh-1147
fixes gh-1143