Material adicional: Curso Fundamentos de Java
Episodio 1
private final NO protege tu lista | Encapsulación falsa en Java
Campo private, campo final… y cualquiera que pasó por tu constructor puede vaciarte la lista desde fuera. private protege el nombre y final protege la referencia: ninguno protege el objeto al otro lado. Las dos puertas por las que se fuga tu estado, y cómo cerrarlas con una sola línea.