When adding a header to the response, the wrapper doesn't check to see if the response has already been committed back to the user. Once committed we should not modify response any more.
We should throw an IllegalStateException if someone tries to add a header after the wrapper has been committed.
- A filter can not add a header to a wrapper after it's been committed.
- That is, don't add it to the collection of headers in the response wrapper if it's been committed.
- A message is logged when a header is added to the response wrapper after it's been committed as not having failed.