This guarantees callers that the method will not return until it has executed completely at least once.