use Monitor.abortRequested()