The enclosed patch adds these files and test cases.
There is a use-case for writing these both as InputStream and OutputStream.
Without any concerns of existing use-cases, the OutputStream is probably the most "correct" implementation. These two classes originate from apache maven, and existing layering made it much more practical to do this filtering on the "Input" side of the stream pipeline, which mandates an inputstream based solution. There should be no technical difference between these, and it should be trivial to adapt these to output streams. This patch only contains InputStream versions