Terminate this Coordination as a failure with the specified failure cause.
If this Coordination is already {@link #isTerminated() terminated}, this method does nothing and returns {@code false}.
Otherwise, this Coordination is terminated as a failure with the specified failure cause and then all registered {@link #getParticipants() Participants} are{@link Participant#failed(Coordination) notified}. Participants should discard any work associated with this Coordination. This method will return {@code true}.
If this Coordination has been {@link #push() pushed} onto a thread localCoordination stack, this Coordination is not removed from the stack. The creator of this Coordination must still call {@link #end()} on thisCoordination to cause it to be removed from the thread local Coordination stack.
@param cause The failure cause. The failure cause must not be{@code null}.
@return {@code true} if this Coordination was active and was terminatedby this method, otherwise {@code false}.
@throws SecurityException If the caller does not have{@code CoordinationPermission[PARTICIPATE]} for thisCoordination.