GIV>>numbers не публичный так что если ты не отдаешь его наружу (а ты не должен) то нет проблем (в том числе и со стороны "руководств").
A_L>А какие "side effects" могут возникнуть если можно отдавать numbers наружу?
даже думать не буду, любые
A_L>Например, кто может начать add/get снаружи в numbers без synchronized (this.numbers)?
я почем знаю кто? и знать не хочу, нельзя такое отдавать. иммутабельное — можно (при условии сейф паблишинга), треад сейф структуры — можно, линкед лист — нельзя.
его и в однопоточной проге лучше не отдавать...