Вы не можете без петель. Вы не должны останавливаться на достигнутом, если вообще можете этого избежать. Что вызывает ваш метод? Можно ли реструктурировать его для проверки значения позже или переписать что-нибудь, чтобы позже можно было перезвонить с ответом?
В худшем случае, возможно, вы могли бы обойти код, вызывающий вас, вывести диалоговое окно, кэшировать значение и, ТОГДА создать все условия, которые в первую очередь вызывали бы код.
Эти системы с графическим интерфейсом обычно просто не зависают, они возвращаются, и большую часть времени поток НЕ работает. Если вы начнете обходить это, вы столкнетесь со всевозможными проблемами потоков и состояний.