Método recomendado para escapar de HTML en Java

¿Hay una forma recomendada de escapar?<, >, "&nbsp;y&&nbsp;¿Caracteres al generar HTML en código Java simple? (Aparte de hacer manualmente lo siguiente, es decir).

String source = "The less than sign (<) and ampersand (&) must be escaped before using them in HTML";
String escaped = source.replace("<", "&lt;").replace("&", "&amp;"); // ...