Consider the following simple example, using a Service Desk Portal:
1. Client files a ticket "The Pony Generator Is Broken".
The description entered in the portal is "This is what it created" with an attachment, "pony.jpg"
2. Client goes to the portal and adds a response
"When I run it with parameter X it's different!" with attachment "pony.jpg"

3. The client's view of the portal on doing this shows both images.

4. If the client happens to refresh the page, they might notice both images are now the second image.

5. The service desk agent only sees the latest version of "pony.jpg" for both comments, however the ticket does show both images.

How should the agent know which pony image was generated with parameter X?
While it would be very serious if an agent attached a file with the same name in a private comment, this fails unceremoniously with a server error.

and in the logs,
http-nio-8080-exec-18 ERROR benm 801x137751x1 1vpsclq 172.16.251.21,0:0:0:0:0:0:0:1 /secure/attachment/500225/500225_pony.jpg [c.a.j.web.servlet.ViewAttachmentServlet] Error serving file for path /500225/500225_pony.jpg: getWriter() called after getOutputStream()
java.lang.IllegalStateException: getWriter() called after getOutputStream()