suspend
Suspends the execution of the process. Since the process cannot resume itself, the client must provide an object that will resume the process. Most required functionality is provided via the other methods in this interface. The method suspend() might be considered for implementing higher level functionality.
Parameters
suspension Observer
the thing that promises to resume the process
suspension Name
a name for the suspension point. Can be used to determine which suspension point the entity is in when there are multiple suspension points.