No output sanitizing is done, which makes the code vulnerable for injection. I do not have a specific use case, but it is good habit to do. Maybe you can use the OWASP Sanitizer: https://www.owasp.org/index.php/OWASP_Java_HTML_Sanitizer_Project
One example from the file:
writer.write("<span class=\"field\">Endpoint address:</span> " + "<span class=\"value\">"
+ absoluteURL + "</span>");