Необходимость синхронизации по локальной переменной

В библиотеке JSON-Java (org.json.JSONArray) Я нашел этот фрагмент кода сsynchronized блок вокруг локальной переменной метода

public String toString(int indentFactor) throws JSONException {
    StringWriter sw = new StringWriter();
    synchronized (sw.getBuffer()) {
        return this.write(sw, indentFactor, 0).toString();
    }
}

Я не понимаю необходимости синхронизации здесь, так какStringWriter только локально для данного метода (и, почему синхронизация находится в буфере). Синхронизация действительно необходима здесь, и если, почему?

Ответы на вопрос(4)

Ваш ответ на вопрос