def METHOD_NAME(self):
    event = _overlapped.CreateEvent(None, True, False, None)
    self.addCleanup(_winapi.CloseHandle, event)
    # Wait for unset event with a cancelled future;
    # CancelledError should be raised immediately
    fut = self.loop._proactor.wait_for_handle(event, 10)
    fut.cancel()
    start = self.loop.time()
    with self.assertRaises(asyncio.CancelledError):
        self.loop.run_until_complete(fut)
    elapsed = self.loop.time() - start
    self.assertTrue(0 <= elapsed < 0.1, elapsed)
    # asyncio issue #195: cancelling a _WaitHandleFuture twice
    # must not crash
    fut = self.loop._proactor.wait_for_handle(event)
    fut.cancel()
    fut.cancel()