Qual é o objetivo dessa sincronização?

Qual é o ponto da sincronização aqui?

Por que não apenas usarmConnectedThread.write(out)?

O snippet de código é da amostra BluetoothChat para Android(encontrado aqui)

    /**
 * Write to the ConnectedThread in an unsynchronized manner
 * @param out The bytes to write
 * @see ConnectedThread#write(byte[])
 */
public void write(byte[] out) {
    // Create temporary object
    ConnectedThread r;
    // Synchronize a copy of the ConnectedThread
    synchronized (this) {
        if (mState != STATE_CONNECTED) return;
        r = mConnectedThread;
    }
    // Perform the write unsynchronized
    r.write(out);
}

questionAnswers(3)

yourAnswerToTheQuestion