Por que não é uma boa prática sincronizar em Boolean?

Meu arquiteto sempre diz que

Nunca sincronize em Boolean

Eu não sou capaz de entender a razão e realmente aprecio se alguém poderia explicar com um exemplo por que não é uma boa prática.Código Amostra de Referência

<code>private Boolean isOn = false;
private String statusMessage = "I'm off";
public void doSomeStuffAndToggleTheThing(){

   // Do some stuff
   synchronized(isOn){
      if(isOn){
         isOn = false;
         statusMessage = "I'm off";
         // Do everything else to turn the thing off
      } else {
         isOn = true;
         statusMessage = "I'm on";
         // Do everything else to turn the thing on
      }
   }
}
</code>

questionAnswers(4)

yourAnswerToTheQuestion