Arrives at this phaser and awaits others. Equivalent in effect to {@code awaitAdvance(arrive())}. If you need to await with interruption or timeout, you can arrange this with an analogous construction using one of the other forms of the {@code awaitAdvance} method. If instead you need to deregister uponarrival, use {@code awaitAdvance(arriveAndDeregister())}.
It is a usage error for an unregistered party to invoke this method. However, this error may result in an {@code IllegalStateException} only upon some subsequent operation onthis phaser, if ever.
@return the arrival phase number, or the (negative){@linkplain #getPhase() current phase} if terminated
@throws IllegalStateException if not terminated and the numberof unarrived parties would become negative