Почему нужно использовать именно 'why", а не 'if" для флага в синхронизованных методах? Вывод в обоих случаях одинаковый, а в чем разница?