Prática recomendada para retornar referências de objeto

Considere este trecho de código:

class MyClass{
    private List myList;
    //...
    public List getList(){
        return myList;
    }
}

Como Java passa referências a objetos por valor, meu entendimento é que qualquer objeto que chamagetList() obterá uma referência paramyList, permitindo modificarmyList apesar de serprivate. Isso está correto?

E, se estiver correto, devo usar

return new LinkedList(myList);

para criar uma cópia e devolver uma referência à cópia, e não ao original, para impedir o acesso não autorizado à lista referenciada pormyList?

questionAnswers(5)

yourAnswerToTheQuestion