La extensión genérica no puede agregar el mismo tipo

Soy nuevo en estos tipos genéricos. En el siguiente código, creé un método que acepta una Lista de elementos que extiende "Cadena".

¿Mi pregunta? - Cuando a la lista se le puede asignar una nueva lista, ¿por qué no se puede agregar una cadena "test" ... Me da un error de compilación.

public class Child {
    public void takeList(List<? extends String> list){
        list = new ArrayList<String>();
        list.add("test");
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta